首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL错误:无法跳转到MySQL结果索引8上的第0行

MySQL错误:无法跳转到MySQL结果索引8上的第0行
EN

Stack Overflow用户
提问于 2012-05-14 01:52:55
回答 2查看 2K关注 0票数 1

我有以下代码:

代码语言:javascript
运行
复制
if ($user) {
        $highscore = mysql_result(mysql_query("SELECT Score FROM HighScore WHERE fbID = $user"),0);
        if (empty($highscore)) { //if no result
            echo '<div id="uhs">0</div>';
        } else { 
            echo '<div id="uhs">'. $highscore .'</div>';
        }
    } else {
        echo '<div id="uhs">0</div>';
    }

当我从db没有得到任何结果时(因为没有Score),它应该回显:echo '<div id="uhs">0</div>';,但它没有。相反,我得到了错误:MySQL error: Unable to jump to row 0 on MySQL result index 8。我认为使用:if (empty($highscore))应该在没有结果的情况下处理它。

我做错了什么以及如何修复它,当数据库中有分数时,它工作得很好。

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-14 01:57:37

函数mysql_num_rows()用于检查mysql_query是否返回任何结果。

代码语言:javascript
运行
复制
$highscore = mysql_query("SELECT Score FROM HighScore WHERE fbID = $user");
if (mysql_num_rows($highscore) == 0) { 
    // No result
} else {
    // Show result
}
票数 3
EN

Stack Overflow用户

发布于 2012-05-14 01:55:43

要检查空的sql结果,请尝试

代码语言:javascript
运行
复制
if(mysql_num_rows($result) > 0) { ... }

即使不返回任何结果,$highscore仍将作为空结果集填充。因此,"empty($highscore)“不会像你想要的那样工作。

编辑:为了以后的使用,请改用mysqli_num_rows

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10573918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档