mysqli_affected_rows()
函数查看更新影响的行数,使用mysqli_num_rows()
函数查看查询结果的行数。PHP无法直接查看更新影响的列数。 在PHP中,我们可以使用PDO(PHP Data Objects)或者mysqli扩展来执行SQL查询,并获取更新影响的行数,以下是两种方法的详细步骤:
1. 使用PDO
PDO提供了一个名为rowCount()
的方法,可以用来获取上一次UPDATE,INSERT或DELETE查询影响的行数。
<?php $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $sql = "UPDATE table_name SET column1='value1' WHERE column2='value2'"; $stmt = $pdo>prepare($sql); $stmt>execute(); echo $stmt>rowCount() . " rows affected."; ?>
2. 使用mysqli
mysqli提供了一个名为affected_rows
的属性,可以用来获取上一次UPDATE,INSERT或DELETE查询影响的行数。
<?php $mysqli = new mysqli('localhost', 'username', 'password', 'test'); $sql = "UPDATE table_name SET column1='value1' WHERE column2='value2'"; if ($mysqli>query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn>error; } echo $mysqli>affected_rows . " rows affected."; ?>
相关问题与解答
1、问题: 如果我在执行UPDATE语句时没有指定WHERE子句,会发生什么?
答案: 如果你在执行UPDATE语句时没有指定WHERE子句,那么所有的记录都会被更新。rowCount()
或affected_rows
将会返回表中的总行数。
2、问题: 如何防止在执行UPDATE语句时不指定WHERE子句?
答案: 为了防止这种情况,你可以在编写SQL语句时总是包含WHERE子句,或者在执行SQL语句之前检查SQL语句是否包含WHERE子句,如果不包含,你可以抛出一个错误或者停止执行。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。