使用if-condition的mysql-php计数

时间:2014-09-27 16:47:27

标签: php mysql count

我需要您的帮助以下代码。

如果prio_id 5没有票证,则应显示“ok”,当有一张或多张优先级较高的票证时,应显示图像

<?php 
$alert = mysql_query("SELECT count(tn) AS Prio-Tickets FROM ticket where ticket_state_id = 1 AND ticket_priority_id = 5;"); 
 while ($row = mysql_fetch_object($alert))
 { 
 if ($row->Prio-Tickets = 0 ) 
 { 
 echo 'OK'; 
 } 
 else
 { 
 echo '<img src="alert.gif"/>' 
 } 
 } 
 ?>     

2 个答案:

答案 0 :(得分:1)

您现在assigning只有一个=符号而不是comparing ==

if ($row->Prio-Tickets == 0 )


修改

请参阅spencer7593关于您正在使用的别名的答案。

答案 1 :(得分:1)

我们希望您运行的SQL语句抛出错误1064由于列别名中的短划线字符,您的SQL语法出错。

但您可能没有看到该错误,因为您没有检查查询是否成功。

要在标识符中使用短划线字符,您需要“转义”标识符; MySQL中的正常模式是将标识符包含在反引号字符中,或者使用不需要转义的标识符。

SELECT foo AS `Prio-Tickets` ...

SELECT foo AS prio_tickets ...

最好从查询中检查返回,并妥善处理错误,而不是让你的代码把它的比喻小指放在它的嘴角上Dr. Evil风格“我只是假设一切去了计划。什么?“

由于不推荐使用mysql接口(并且新开发应该使用mysqli或PDO接口),我不打算使用mysql接口提供示例;其他地方已经有很多例子。