gpt4 book ai didi

php - 日期时间变量比较返回空白

转载 作者:行者123 更新时间:2023-11-29 10:24:59 25 4
gpt4 key购买 nike

我正在尝试使用带有 where 和 datetime 字段的 SQL 语句从 mariaDB 表中获取数据。当我输入 Datum >= "2018-01-18 15:16:17"这样的字符串时,结果符合预期。当我比较变量 Datum >= $ymdt 时,我收到一个空白页。我为字符串尝试了不同的分隔符 ('")。我尝试使用 City 等其他字段,成功了。这个日期时间的问题出在哪里?

<?php

$dat="2018-01-25 15:16:17";
$ymdt = DateTime::createFromFormat('Y-m-d H:i:s', $dat)->format('Y-m-d H:i:s');

echo "<p> Debug Section<br>";
echo $dat;
Output: 2018-01-25 15:16:17
echo "<br>";
echo $ymdt;
Output: 2018-01-25 15:16:17
echo "</p>";

下面这行返回一个空白表,为什么?

foreach($db->query("SELECT * FROM wetterdaten where datum >= $ymdt ORDER BY id DESC") as $zeile) {}

以下行返回按预期从日期(日期时间字段 mysql)填充的表

foreach($db->query("SELECT * FROM wetterdaten where datum >= '2018-01-25 15:16:17' ORDER BY id DESC") as $zeile) {}

最佳答案

foreach($db->query("SELECT * FROM wetterdaten where datum >= $ymdt ORDER BY id DESC") as $zeile) {}

this line returns a blank table, why?

因为在此示例中,您的日期/时间字符串未加引号。该查询将被填充为:

where datum >= 2018-01-25 15:16:17

您需要将 $ymdt 变量括在单引号中:

foreach($db->query("SELECT * FROM wetterdaten where datum >= '$ymdt' ORDER BY id DESC") as $zeile) {}

更好的解决方案是使用准备好的语句,这样您就不必担心自己引用和转义字符串。

关于php - 日期时间变量比较返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48477047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com