要获取PHP更新MySQL后改变的行数,可以使用以下几种方法:
方法一:使用mysqli_affected_rows函数
当使用mysqli实现对MySQL数据库进行更新操作时,可以使用mysqli_affected_rows()函数来获取更新的行数。下面是示例代码:
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* create a prepared statement */
if ($stmt = $mysqli->prepare("UPDATE test SET name = ? WHERE id = ?")) {
/* bind parameters */
$stmt->bind_param("si", $name, $id);
/* set parameters */
$name = "John";
$id = 1;
/* execute query */
$stmt->execute();
/* get number of affected rows */
$affected_rows = $mysqli->affected_rows;
printf("%d rows updated.\n", $affected_rows);
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
方法二:使用PDO的rowCount方法
当使用PDO实现对MySQL数据库进行更新操作时,可以使用rowCount()方法来获取更新的行数。下面是示例代码:
<?php
$dsn = "mysql:host=localhost;dbname=dbname";
$username = "username";
$password = "password";
try {
$dbh = new PDO($dsn, $username, $password);
/* update row */
$stmt = $dbh->prepare("UPDATE test SET name = :name WHERE id = :id");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':id', $id);
$name = "John";
$id = 1;
$stmt->execute();
/* get number of affected rows */
$affected_rows = $stmt->rowCount();
printf("%d rows updated.\n", $affected_rows);
/* close statement and database connection */
$stmt = null;
$dbh = null;
} catch (PDOException $e) {
echo $e->getMessage();
exit;
}
?>
以上两种方法可以在PHP更新MySQL后获取改变行数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php更新mysql后获取改变行数的方法 - Python技术站