Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在尝试更新列_Php_Mysql - Fatal编程技术网

Php 正在尝试更新列

Php 正在尝试更新列,php,mysql,Php,Mysql,我试图更新整个列,但它似乎只更新第一个匹配的行 这是我的密码 $sql = 'UPDATE tree SET sort_order = sort_order+1 WHERE sort_order > :sort_order AND reply_to = :id'; $query = $app->getConnection()->prepare($sql); $query->execute(array(':sort_order' =>

我试图更新整个列,但它似乎只更新第一个匹配的行

这是我的密码

 $sql = 'UPDATE tree SET sort_order = sort_order+1 WHERE sort_order > :sort_order AND reply_to = :id';
        $query = $app->getConnection()->prepare($sql);
        $query->execute(array(':sort_order' => get_sort(),
                              ':id' =>$id
                              ));
如何更新该列?我知道他们的比赛还有很多

但它似乎只更新第一个匹配行

是的,因为您使用了一个过滤器,使用了
WHERE
子句,如下所示

WHERE sort_order > :sort_order AND reply_to = :id'
如果要更新所有行,请删除
WHERE
条件

UPDATE tree SET sort_order = sort_order+1;

您的查询似乎符合您声明的意图。样本数据和实际/预期结果可能有助于解释发生了什么。是的。说我想更新5以上的记录。where子句不是问题所在。然后从查询中删除
和reply\u to=:id'
条件。如果我要更新所有大于5的记录,且reply\u to行中的值为1,该怎么办?我该如何解决这个问题?