[英]PHP - MySQL - Search date, count rows that have that date
我有一个查询,它通过按日期搜索从数据库中提取一个计数,但它没有返回它应该返回的内容。 数据库中有 3 条记录,类型为 Date,日期为 2012-04-06。
$day 作为该日期在页面上回显,所以我知道它正在传递到 function 中。
$countrows = "SELECT COUNT(*) FROM test_table WHERE startDate LIKE '" . $day. "'";
$countresult = mysql_query($countrows);
$count = mysql_fetch_row($countresult);
$finalcount = $count[0];
卡住了,需要第二、第三、第四只眼睛。 我显然错过了一些东西。
另外:我希望计数结果为 integer,这样我就可以用它做数学运算。
您不应该使用LIKE
进行日期比较。 你可以做
"SELECT COUNT(*) FROM test_table WHERE startDate = '" . $day. "'";
正如 Armatus 指出的那样,您还需要调用mysql_fetch_row
。
您缺少$values = mysql_fetch_row($countresult)
的步骤。 您的$countresult
countresult 是MYSQL_QUERYRESULT
类型(或类似类型)的变量,而不是数组。
http://php.net/manual/en/function.mysql-fetch-row.php
除此之外,DB 查询的值始终是 PHP 中的字符串。只需执行$var = (int)$var;
如果你想确定它是一个数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.