PHP 5 ≥ 5.0.0, PHP 7, PHP 8 及更高版本
mysqli_stmt::$affected_rows 是 mysqli_stmt 类的一个属性,用于获取最近一次执行的预处理语句所影响的行数。常用于执行 UPDATE、DELETE、INSERT 等操作后,确定数据库中实际改变了多少行数据。
int mysqli_stmt::$affected_rows
注意这是一个属性,而非方法,不需要加括号调用。
$mysqli = new mysqli("localhost", "user", "password", "database"); <p>$stmt = $mysqli->prepare("UPDATE users SET email = ? WHERE id = ?");<br> $stmt->bind_param("si", $email, $id);</p> <p>$email = "<a class="cursor-pointer" rel="noopener">[email protected]</a>";<br> $id = 1;</p> <p>$stmt->execute();</p> <p>echo "受影响的行数: " . $stmt->affected_rows;</p> <p>$stmt->close();<br> $mysqli->close();<br>
示例中,首先连接数据库,准备一个 UPDATE 语句,将指定用户的邮箱更新为新值。执行语句后,使用 $stmt->affected_rows 属性获取此次操作影响的行数,最后输出该数值。此数值表明实际修改了多少行数据。