php - 访问存储在该查询返回的结果中的数据

标签 php mysql row

我有以下查询:

$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 结果资源...

没有打印结果。

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

最佳答案

您没有检查 mysql_query() 的返回值。最有可能的问题是您无法正常通过 mysql_query() 运行多个查询 - “SET @rownum := 0;”作为第一个查询,但在 mysql_query() 失败后使用 mysql_error() 快速检查将是一个好主意。

关于php - 访问存储在该查询返回的结果中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5102455/

相关文章:

php - 如何连接 mysql 中两个不同表的数据(LEFT JOIN)?

pandas - 键作为行(来自字典的 Pandas Dataframe)

javascript - 应用脚本 : How to know the Last Row of a Merged cell

r - 如何在删除R中的行时自动缩小R数据框中的行数

javascript - 如何在 session 超时时显示弹出窗口

php - MySQL 查询 : Retrieve 'birthdays' (YYYY-MM-DD) from the database, 并选择那些在当前周(无论年份)下降的那些。/PHP

MySQL 查询使用多个表中的数据计算最新的平均价格

php - 我需要html标签来做回车吗?

php - MariaDB 版本字符串的第一部分是什么意思?

php - 下载 php 文件 tar