我想在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());但它会抛出以下错误
您的SQL语法出现错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行使用“选择
@rank:=@rank+1作为级别,从result中选择percentage_obtained”的正确语法。
但是,当我直接在数据库中运行查询时,它可以工作。请协助。
发布于 2017-03-04 20:43:09
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());应该处理这个
https://stackoverflow.com/questions/42600938
复制相似问题