这看起来简单得可笑,但根据我处理不返回任何内容的查询的方式,我遇到了各种各样的错误。
$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() 是否返回了任何内容?
最佳答案
您可以使用 mysql_num_rows(). 检查返回的行数
假设你的循环是查询一些东西直到它得到结果,它会是
while(time()-$time<60 && $num_rows == 0)
{
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
(不确定你在这里做的是不是一个好主意,因为它可能会给数据库服务器带来可怕的负担,但这是一个不同的问题)
mysql_query()将仅在“真实”错误时返回 false
,例如拼写错误的查询或丢失的连接。
关于php - 当 MySQL 什么都不返回时 $result 会是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614169/