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

时间:2015-02-17 09:29:11

标签: 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 = (@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变量,但唉什么也没发现。

1 个答案:

答案 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);