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