当 MySQL 不返回任何内容时,$result 会是什么?

发布于 2024-08-28 18:13:48 字数 381 浏览 4 评论 0原文

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

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

This might seem ridiculously simple, but I've been getting all kinds of error depending on how I handle a query that returns nothing.

$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

How do I check whether my mysql_query() returned anything?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

二货你真萌 2024-09-04 18:13:49

您可以使用 mysql_num_rows().< 检查返回的行数。 /a>

假设你的循环是查询某些内容直到得到结果,那么

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

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

mysql_query() 将返回 false 仅适用于“真实”错误,例如拼写错误的查询或丢失的连接。

You can check the number of returned rows using mysql_num_rows().

Presuming your loop is to query something until it gets a result, it would be

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

(not sure whether what you're doing here is a really good idea, as it is likely to put a terrible burden on the database server, but that's a different issue)

mysql_query() will return false only on "real" errors, e.g. a misspelled query or lost connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文