我想在 php 中传递以下 sql 查询
SET @rank=0; SELECT @rank:=@rank+1 AS rank, `percentage_obtained` FROM `result` ORDER BY percentage_obtained DESC
如这里
mysql_query('SET @rank=0; SELECT @rank:=@rank+1 AS rank, `percentage_obtained` FROM `result` ORDER BY percentage_obtained DESC') or die(mysql_error());
但它抛出以下错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT
@rank
:=@rank
+1 AS rank,percentage_obtained
FROMresult
' at line 1
但是,当我直接在数据库内运行查询时,它会起作用。请帮忙。
最佳答案
mysql_query()不支持多个查询,因此需要将它们分开。 您也可以使用 mysqli_multi_query - 但请注意,您需要 mysqli 而不是 mysql
所以
mysql_query('SET @rank=0') or die(mysql_error());
mysql_query('SELECT @rank:=@rank+1 AS rank, `percentage_obtained` FROM `result` ORDER BY percentage_obtained DESC') or die(mysql_error());
应该处理这个问题
关于php - 如何在php中使用sql变量传递sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42600938/