我在数据库中有一个名为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?语法?
答案 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') . "'");