我有一个问题,我正在尝试获取状态为已完成的用户xgrh和来自列compDt的当前日期的计数。当我为今天的日期10/28/14输入一个记录数据时,此代码将我的计数留作整数0。
<tr>
<td style="width: 125px"><a href="xgrhCompleted.php" target="Frame">xgrh</a></td>
<td style="width: 125px" align="center"><a href="xgrhCompleted.php" target="Frame">
<?php
$result = mysql_query("SELECT COUNT(*) as cd FROM requests WHERE status='Completed' AND compUser='xgrh' AND CompDt = 'Date_Time=CURdate()'");
while($row=mysql_fetch_array($result))
{
echo $row['cd'];
}
?>
</a></td>
</tr>
&#13;
答案 0 :(得分:1)
除了您的拼写错误,CURDATE()函数返回格式&#39; YYYY-MM-DD&#39;。 您尝试匹配的日期(10/28/14)具有格式&#39; MM / DD / YY&#39;。
您的查询应该是
SELECT COUNT(*) as cd FROM requests
WHERE status='Completed' AND compUser='xgrh'
AND CompDt = date_format(curdate(), '%m/%d/%y');
答案 1 :(得分:0)
查询中的错字:
... AND CompDt = 'Date_Time=CURdate()'
^-------------------^
执行a = b =c
并没有多大意义,但由于您引用了指定的部分,因此您并未将日期与日期进行比较。您将日期与ISN&#39; T作为有效日期的字符串进行比较,导致整个where
评估为布尔值false,并返回0。