你好我运行了一个小的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变量,但唉什么也没发现。
答案 0 :(得分:1)
解决了,我必须在单独的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);