mysql_affected_rows() 回傳最近一次 INSERT、UPDATE、DELETE 或 REPLACE 查詢所影響的資料列數。注意:此函數屬於已棄用的 mysql 擴展(PHP 5.5.0 棄用,PHP 7.0.0 移除),新專案請改用 MySQLi 或 PDO。
mysql_affected_rows(resource $link_identifier = null): int
| 參數 | 說明 |
|---|---|
$link_identifier | 選填,MySQL 連線資源;省略時使用最近一次 mysql_connect() 開啟的連線 |
成功回傳影響列數(int),失敗回傳 -1。
<?php
$con = mysql_connect("localhost", "mysql_user", "mysql_pwd");
if (!$con) {
die("連線失敗: " . mysql_error());
}
mysql_select_db("mydb");
mysql_query("DELETE FROM mytable WHERE id < 5");
$rc = mysql_affected_rows();
echo "刪除筆數: $rc"; // 輸出:刪除筆數: 4
mysql_close($con);
?>
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
$mysqli->query("DELETE FROM mytable WHERE id < 5");
echo "刪除筆數: " . $mysqli->affected_rows;
?>
<?php
$pdo = new PDO("mysql:host=localhost;dbname=database", "user", "password");
$stmt = $pdo->exec("DELETE FROM mytable WHERE id < 5");
echo "刪除筆數: $stmt"; // PDO::exec 直接回傳影響列數
?>
INSERT、UPDATE、DELETE、REPLACE 有效;SELECT 請用 mysql_num_rows()(或 MySQLi num_rows、PDO rowCount())。-1。