Mysql计算用户,状态和今天的日期

时间:2014-10-28 19:07:24

标签: php mysql

我有一个问题,我正在尝试获取状态为已完成的用户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;
&#13;
&#13;

enter image description here

2 个答案:

答案 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。