SqlQuery在phpmyadmin中运行,在php中不起作用


Sql Query runs in phpmyadmin, doesnt work in php

你好,我运行了一个小的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);