不同的结果通过php发布sql查询而不是通过phpmyadmin

时间:2017-01-11 18:18:09

标签: php mysql phpmyadmin

很抱歉,如果以前曾被问过,但我认为这可能对查询非常具体。我对PHP和SQL都很陌生,但得到了一个高分系统,现在又停留在一个最后一件事...我有一个查询,如果我粘贴到phpmyadmin它工作正常,但当包含在$sql =""之间(在PHP中)它没有。 徒劳地试图调试它通过浏览器调用我可以看到有问题的项目在PHP中看不出原因:

$sql = "SET @rownum := 0; SELECT * FROM (SELECT @rownum := @rownum+1 AS rank, ID, Username, Score, UDID FROM users ORDER BY Score DESC)
AS derived_table WHERE Username = 'Dave';";

这不返回任何内容......但是将其粘贴到phpmyadmin中并且工作正常,返回按分数排序的两个条目并显示其排名。

如果我删除SET @rownum := 0;然后它可以工作但是为了等级返回null ...所以我想;导致它终止?

在拉掉最后一根头发之前,任何想法都会有很大帮助。

1 个答案:

答案 0 :(得分:1)

在PHP的常规mysql API中,这是不可能的。 尝试单独执行查询(SET& SELECT)并使用mysqli_multi_queryhttp://se2.php.net/manual/en/mysqli.multi-query.php