0

假设我有以下代码更新两个不同的表

if(isset($_POST['submit'])){

    $updateq = $conn->query("UPDATE `tbl1` SET `field1`= '$field1'");

    $updater = $conn->query("UPDATE `tbl2` SET field2 ='$field2'");

    //Here I want to check if first update query
    //is affected any row or not
    if(mysqli_affected_rows($conn) > 0){
        ....
    }

}

那么是否可以检查第一个查询是否更新了任何行?

4

1 回答 1

0

在 mysql

  • 如果是 UPDATE、DELETE 或 INSERT,ROW_COUNT() 返回最后一条语句更改、删除或插入的行数。对于其他语句,该值可能没有意义。

所以,

UPDATE `tbl1` SET `field1`= '$field1'
SET @countRow =  ROW_COUNT();
if (@countRow>0) then
UPDATE `tbl2` SET field2 ='$field2'
end if;

你必须将它集成到 php 中,因为它是纯粹的 mysql 语法

于 2018-04-10T06:35:26.173 回答