存储在结果存取数据从该查询返回(Access data stored in the result r

2019-11-04 22:18发布

我有以下查询:

$sql = "SET @rownum := 0;
              SELECT * FROM (
                SELECT @rownum := @rownum + 1 AS rank, totalpoints, useridFB, username
                FROM user_test ORDER BY totalpoints DESC
                ) as result WHERE useridFB=".$uid."";   

有了它,我得到的是已经在我的网页玩一些游戏获得的积分用户的级别。

查询的伟大工程,当我将其粘贴在phpMyAdmin,我得到了用户的正确等级。

什么问题呢? 好吧,我不能显示存储在结果的任何数据。

我尝试过平常:

$result = mysql_query($sql); 
while ($row = mysql_fetch_assoc($result)) {
    echo $row['totalpoints'];
    echo $row['rank'];
    echo $row['useridFB'];
    echo $row['username'];
} 

但它返回一个错误:

警告:mysql_fetch_assoc():提供的参数是不是一个有效的MySQL结果资源...

一个没有结果打印出来。

我究竟做错了什么? 非常感谢!

Answer 1:

你不检查的mysql_query的返回值()。 最有可能的问题是,你无法正常通过的mysql_query运行多个查询() - >设置@rownum:= 0;“ 作为第一个查询,但快速检查与失败的mysql_query(后mysql_error())将是一个不错的主意。



文章来源: Access data stored in the result returned from this query
标签: php mysql row