很抱歉,如果以前曾被问过,但我认为这可能对查询非常具体。我对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 ...所以我想;导致它终止?
在拉掉最后一根头发之前,任何想法都会有很大帮助。
答案 0 :(得分:1)
在PHP的常规mysql
API中,这是不可能的。
尝试单独执行查询(SET& SELECT)并使用mysqli_multi_query
。
http://se2.php.net/manual/en/mysqli.multi-query.php