我需要您的帮助以下代码。
如果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"/>'
}
}
?>
答案 0 :(得分:1)
答案 1 :(得分:1)
我们希望您运行的SQL语句抛出错误1064由于列别名中的短划线字符,您的SQL语法出错。
但您可能没有看到该错误,因为您没有检查查询是否成功。
要在标识符中使用短划线字符,您需要“转义”标识符; MySQL中的正常模式是将标识符包含在反引号字符中,或者使用不需要转义的标识符。
SELECT foo AS `Prio-Tickets` ...
SELECT foo AS prio_tickets ...
最好从查询中检查返回,并妥善处理错误,而不是让你的代码把它的比喻小指放在它的嘴角上Dr. Evil风格“我只是假设一切去了计划。什么?“
由于不推荐使用mysql接口(并且新开发应该使用mysqli或PDO接口),我不打算使用mysql接口提供示例;其他地方已经有很多例子。