为什么不在这个PHP Mysqli代码中使用affected_rows?

时间:2017-12-28 22:33:46

标签: php mysqli

我有一个mysqli数据库对象$ DataBase,下面的代码按预期工作:

    $stmt = $DataBase->stmt_init();
    $stmt->prepare("UPDATE `optshop_stock` SET quantity_b = ? WHERE product_id = ?;");
    $stmt->bind_param('ii', $qty, $sku);
    $stmt->execute();
    $stmt->close();

但是当我添加:

echo $stmt->affected_rows;
$stmt->execute()$stmt->close()之间

没有回显任何值,如果没有发生则甚至不为零。我是否以正确的方式使用此声明?

(我遵循了这个http://php.net/manual/en/mysqli-stmt.affected-rows.php示例)

2 个答案:

答案 0 :(得分:0)

可以在数据库级别检索属性(引用here):

echo $DataBase->affected_rows;

答案 1 :(得分:-3)

我认为您应该尝试在$ stmt-> execute()之后添加$ stmt-> store_result(),否则在使用$ stmt-> affected_rows

时无法获得正确的结果