【发布时间】:2017-12-28 22:33:46
【问题描述】:
我有一个 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 示例)
【问题讨论】:
-
认为你应该这样做:echo $Database->affected_rows;
-
你没有按照“to a T”的例子。
-
尝试将此添加到脚本的顶部 ~
ini_set('display_errors', 'On'); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);。鉴于您没有显示任何值,我会说您的查询很有可能失败 -
正好在这两者之间。
-
@FunkFortyNiner 是什么意思?