抱歉,如果之前有人问过这个问题,但我认为这可能是特定于查询的。我对 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...所以我猜 ;导致它终止?
在我拔掉最后一根头发之前,任何想法都会有很大帮助。
最佳答案
在 PHP 的常规 mysql
API 中,这是不可能的。
尝试单独执行查询(SET 和 SELECT)并使用mysqli_multi_query
。
http://se2.php.net/manual/en/mysqli.multi-query.php
关于php - 通过php发布sql查询的结果与通过phpmyadmin发布sql查询的结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41597935/