0

我有一个查询,它通过按日期搜索从数据库中提取计数,但它没有返回它应该返回的内容。数据库中有 3 条记录,类型为 Date,日期为 2012-04-06。

$day 作为那个日期在页面上回显,所以我知道它正在正确地传递给函数。

$countrows = "SELECT COUNT(*) FROM test_table WHERE startDate LIKE '" . $day. "'";
$countresult = mysql_query($countrows);
$count = mysql_fetch_row($countresult);
$finalcount = $count[0];

刚卡住,需要第二,第三,第四双眼睛。我显然错过了一些东西。

另外:我希望计数以整数形式出现,以便我可以用它进行数学运算。

4

2 回答 2

1

您不应该LIKE用于日期比较。你可以做

"SELECT COUNT(*) FROM test_table WHERE startDate = '" . $day. "'";

正如 Armatus 指出的那样,您也需要跟注mysql_fetch_row

于 2012-04-07T09:38:37.273 回答
1

你错过了$values = mysql_fetch_row($countresult). 您$countresult是类型MYSQL_QUERYRESULT(或某种类型)的变量,而不是数组。

http://php.net/manual/en/function.mysql-fetch-row.php

除此之外,DB 查询的值在 PHP 中总是首先是字符串。$var = (int)$var;如果你想确保它是一个数字,就做一个。

于 2012-04-07T09:40:08.007 回答