Php 使用相同的查询更新两行

Php 使用相同的查询更新两行,php,mysql,Php,Mysql,我想做的是用相同的查询更新两行。我所拥有的是: $sqlUpdate = "UPDATE user.user SET level='2' WHERE id='".$_GET['char']."' AND level >0 AND item>0 LIMIT 1 "; 我的想法是这样做: $sqlUpdate = "UPDATE user.user SET level='2' && SET power='1' WHERE id='".$_GET['char'].

我想做的是用相同的查询更新两行。我所拥有的是:

 $sqlUpdate = "UPDATE user.user SET level='2' WHERE id='".$_GET['char']."' AND level >0 AND item>0 LIMIT 1   ";
我的想法是这样做:

 $sqlUpdate = "UPDATE user.user SET level='2' && SET power='1' WHERE id='".$_GET['char']."' AND level >0 AND item>0 LIMIT 1   ";

在我看来,这看起来合乎逻辑,但它不起作用,你知道怎么做吗?谢谢

用于更新更新查询中的多个字段:

用逗号分隔字段/值

$sql = "UPDATE user.user SET level='2', power='1' WHERE id='" . $_GET['char'] . "' AND level > 0 AND item > 0 LIMIT 1;";
注意:上述查询易受攻击,因为用户可以将任何内容传递给$\u GET变量。这可能被恶意用于更改您的查询。


要更新更新查询中的多行,请执行以下操作:

只有相同的数据才能放在多行中。您可以修改where语句,使其在逻辑上包含应更新的行。如果每行的数据不同,则这是不可能的,但您可以使用


准备好的语句允许您为将运行多次的查询设置模板。然后就可以传递这些值了。大多数数据库都会缓存查询,以提高性能。它还通过将查询与数据分离来防止SQL注入。

您的意思是更新2列吗?这就是您的第二个查询所要做的。试试这个:

$sqlUpdate = "UPDATE user.user SET level='2', power='1' WHERE id='".$_GET['char']."' AND level >0 AND item>0 LIMIT 1   ";

您可能希望添加sql标记,因为这比php更与sql相关。为什么不使用两个查询?删除那里的
限制1
?您想更新一行中的两行还是两个字段?如果我运行两个查询,那么我的问题是您是使用相同的数据更新行还是每行的数据不同?您知道如何将+1添加到列中吗?比如说$sqlUpdate=“UPDATE user.user SET level='2',power='+1',其中id='”。“$\u GET['char']”和level>0和item>0 LIMIT 1”;