mysqli无法使用php日期

时间:2017-10-21 09:29:54

标签: php mysql date

我有一张表"数据" varchar中的列

enter image description here

和价值" 21/10 / 2017"

enter image description here

现在尝试查询时如下:

Date

此查询返回0,但是如果使用随机字符串更改数据,例如" dog"并使用dog替换mysql中的数据查询工作正常,但我需要的日期不是狗。

如果使用$data = mysqli_real_escape_string($bd, date("j/m/y")); $result = mysqli_query($bd, "SELECT * FROM tracking where data='".$data."'"); thw查询工作原因么?

2 个答案:

答案 0 :(得分:1)

您在date中使用了错误的date format。您的日期为j/m/y,其格式为 d / mm / yy ,例如21/10/17但您在数据库中的日期/字符串格式为 dd / mm / yyyy

要获得完整的4位数版本的年份,您需要使用Y代替y,即

$data = mysqli_real_escape_string($bd, date("j/m/Y"));   

注意:您可能还有月份和日期格式错误 - 您在PHP中使用单位数日和2位数月份表示(例如1/01/17而不是01/01/17)但您的字符串可能使用完整的2位数 - 我们无法在您的日期示例中说明......在这种情况下,您将需要:

$data = mysqli_real_escape_string($bd, date("d/m/Y"));   

答案 1 :(得分:1)

我看到您使用j/m/y,根据date手册y返回的年份包含最后2位数字,而非4位数字,因此请使用Y。< / p>

但说实话,您必须将日期存储在datedatetimetimestamp类型中,而不是varchar中。