Sql查询在phpmyadmin中运行,在php中不起作用

Sql查询在phpmyadmin中运行,在php中不起作用,php,sql,database,Php,Sql,Database,您好,我运行了一个小php查询,它更新了表中的多行 SET @rank = 0; UPDATE Summoner_Champions SET Rank = (@rank := @rank + 1) WHERE Champion_ID=0 ORDER BY Total DESC 当我尝试使用下面的php代码时,它不起作用 $Ranker_Sql = "SET @rank = 0; UPDATE Summoner_Champions SET Rank = (@ran

您好,我运行了一个小php查询,它更新了表中的多行

SET @rank = 0;
UPDATE Summoner_Champions SET Rank = (@rank := @rank + 1)
WHERE Champion_ID=0
ORDER BY Total DESC
当我尝试使用下面的php代码时,它不起作用

$Ranker_Sql = "SET @rank = 0;
                UPDATE Summoner_Champions SET Rank = (@rank := @rank + 1)
                WHERE Champion_ID=0
                ORDER BY Total DESC";
if ($Conn_Info->query($Ranker_Sql) === TRUE) {
    echo " Total Updated ";
} 
else {
    echo mysqli_error($Conn_Info);
    echo "Total Not Updated";
}
我试着使用一个替代查询,它起作用了,比如一个超级简单的更新,所以连接信息是正确的

感谢您的阅读和帮助:)


编辑1:尝试使用PDO进行查询,但似乎仍然不起作用。试图在线查找可以帮助我在php sql查询中使用sql变量的资源,但没有找到任何帮助。

解决了,我必须在单独的sql查询中声明sql变量,然后我可以在查询中自由使用它:)

像这样

$Pre_Sql = "SET @rank =0";
$dbc->query($Pre_Sql);
$Normal_Sql = "UPDATE Summoner_Champions SET Rank = (@rank := @rank + 1)
                WHERE Champion_ID=0
                ORDER BY Total DESC";
$dbc->query($Normal_Sql);

mysql返回了什么错误?如果您使用PDO:UPDATE语句需要您使用
$Conn\u Info->execute()
而不是
$Conn\u Info->query()
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解使用“更新召唤师”Champions SET Rank=(@Rank:=@Rank+1)的正确语法,其中Champion_I'在第2serjoscha行,我在某些地方使用PDO,但在其他地方我没有,其他更新语句以相同的方式编写:(