我有一个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示例)
答案 0 :(得分:0)
可以在数据库级别检索属性(引用here):
echo $DataBase->affected_rows;
答案 1 :(得分:-3)
我认为您应该尝试在$ stmt-> execute()之后添加$ stmt-> store_result(),否则在使用$ stmt-> affected_rows
时无法获得正确的结果