2

这可能看起来简单得可笑,但是根据我处理不返回任何内容的查询的方式,我遇到了各种错误。

$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() 是否返回任何内容?

4

1 回答 1

2

您可以使用mysql_num_rows()检查返回的行数。

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

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

(不确定您在这里所做的是否真的是一个好主意,因为它可能会给数据库服务器带来沉重的负担,但这是一个不同的问题)

mysql_query()false只返回“真正的”错误,例如拼写错误的查询或丢失的连接。

于 2010-04-10T17:01:20.160 回答