首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当语句(使用mysql)不能工作时,PHP如果其他

问当语句(使用mysql)不能工作时,PHP如果其他
EN

Stack Overflow用户
提问于 2014-02-20 18:47:11
回答 3查看 594关注 0票数 1

我在我的函数中有这段代码,如果它不能获取存储在变量$result中的数据,它就会回显“空”。“空”部分工作正常。但是,如果条件进入else部分,它将不会回显用户数据,为什么?

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM `users` ORDER BY `earnings` DESC LIMIT ".$load.",1") or die (mysql_error());
if(!mysql_fetch_row($result)) {
    echo "Empty";
} else {
    while($data = mysql_fetch_array($result))
    {
        if($name == true) {
            echo ucfirst($data['user']);
        } else {
            echo ucfirst($data['earnings']);
        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-20 18:52:03

通过调用mysql_fetch_row($result)作为测试,您将始终丢失数据的第一行。检查行数是否为0。

票数 0
EN

Stack Overflow用户

发布于 2014-02-20 18:55:19

嗨,我想你的问题在mysql_fetch_array()里。此函数将返回数组而不是关联数组。

您可以使用

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM `users` ORDER BY `earnings` DESC LIMIT    ".$load.",1") or die (mysql_error());
if(mysql_num_rows($result) == 0) {
   echo "Empty";
} else {
     while($data = mysql_fetch_array($result,MYSQL_BOTH))
 {
    if($name == true) {
        echo ucfirst($data['user']);
    } else {
        echo ucfirst($data['earnings']);
    }
 }
}

使用mysql_num_rows mysql_fetch_row整数检查空记录集。

我在mysql_fetch_array中传递第二个参数,MYSQL_BOTH将返回数组和关联数组。

或者你可以用

mysql_fetch_assoc()函数代替mysql_fetch_array().

随便问问题吧。

票数 0
EN

Stack Overflow用户

发布于 2014-02-20 18:54:03

尝尝这个

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM `users` ORDER BY `earnings` DESC LIMIT ".$load.",1") or die (mysql_error());
    if(!$result) {
        echo "Empty";
    } else {
        while($data = mysql_fetch_array($result))
        {
            if($name == true) {
                echo ucfirst($data['user']);
            } else {
                echo ucfirst($data['earnings']);
            }
        }
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21916827

复制
相关文章

相似问题

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