当MySQL什么都没有返回时,$ result会是什么?

时间:2010-04-10 16:59:38

标签: php javascript ajax long-polling

这可能看起来非常简单,但我已经得到各种错误,具体取决于我如何处理一个不返回任何内容的查询。

$query = "SELECT * FROM messages WHERE id > ".$messageId;
$result =mysql_query($query);
$time = time();
while(time()-$time<60 && $result==false)
{
    $result = mysql_query($query);
}
if(result != false)
     //Encode response
else
     //return nothing

如何检查我的mysql_query()是否返回了什么?

1 个答案:

答案 0 :(得分:2)

您可以使用mysql_num_rows().

检查返回的行数

假设你的循环是查询某些东西,直到得到结果,它将是

while(time()-$time<60 && $num_rows == 0)
{
    $result = mysql_query($query);
    $num_rows = mysql_num_rows($result); 

(不确定你在这里做什么是一个非常好的主意,因为它可能给数据库服务器带来了可怕的负担,但那是一个不同的问题)

mysql_query()仅会针对“真实”错误返回false,例如错误的查询或丢失的连接。

相关问题