PHP Mysqli计数返回0

时间:2014-07-29 15:58:44

标签: php

我在数据库中有一个名为date的字段,其内容为:29/07/2014

现在,我正在尝试返回今天有多少字段的日期,而且我实际上知道有一个字段。

这是我的疑问:

$result = mysqli_query($con,"SELECT * FROM mytable WHERE `date` = date('d/m/Y') ");

$totalToday=mysqli_num_rows($result);

为什么$ totalToday返回0应该返回1?语法?

2 个答案:

答案 0 :(得分:2)

用于格式化日期的MySQL函数是DATE_FORMAT。第一个参数是格式化时间,第二个参数是格式字符串,格式化元素以@为前缀。

$result = mysqli_query($con,"SELECT * FROM mytable WHERE `date` = date_format(NOW(), '@d/@m/@Y') ");

答案 1 :(得分:2)

您的问题出在您的查询中:

$result = mysqli_query($con,"SELECT * FROM mytable WHERE `date` = date('d/m/Y') ");

您的查询字符串字面意思是"从mytable获取date字段等于评估 MySQL date函数的每一列输入'd/m/Y'。"

为了将 date函数从PHP 计算到您的查询字符串中,您需要单独评估它:

$result = mysqli_query($con,"SELECT * FROM mytable WHERE `date` = '" . date('d/m/Y') . "'");