PHP mysql_affected_rows() 函數(shù)
定義和用法
mysql_affected_rows() 函數(shù)返回前一次 MySQL 操作所影響的記錄行數(shù)。
語法
mysql_affected_rows(link_identifier)
參數(shù) | 描述 |
---|---|
link_identifier | 必需。MySQL 的連接標識符。如果沒有指定,默認使用最后被 mysql_connect() 打開的連接。如果沒有找到該連接,函數(shù)會嘗試調(diào)用 mysql_connect() 建立連接并使用它。如果發(fā)生意外,沒有找到連接或無法建立連接,系統(tǒng)發(fā)出 E_WARNING 級別的警告信息。 |
說明
取得最近一次與 link_identifier 關(guān)聯(lián)的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數(shù)。
返回值
執(zhí)行成功,則返回受影響的行的數(shù)目,如果最近一次查詢失敗的話,函數(shù)返回 -1。
如果最近一次操作是沒有任何條件(WHERE)的 DELETE 查詢,在表中所有的記錄都會被刪除,但本函數(shù)返回值在 4.1.2 版之前都為 0。
當使用 UPDATE 查詢,MySQL 不會將原值與新值一樣的列更新。這樣使得 mysql_affected_rows() 函數(shù)返回值不一定就是查詢條件所符合的記錄數(shù),只有真正被修改的記錄數(shù)才會被返回。
REPLACE 語句首先刪除具有相同主鍵的記錄,然后插入一個新記錄。該函數(shù)返回的是被刪除的記錄數(shù)加上被插入的記錄數(shù)。
例子
<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die("Could not connect: " . mysql_error());
}
mysql_select_db("mydb");
mysql_query("DELETE FROM mytable WHERE id < 5");
$rc = mysql_affected_rows()
;
echo "Records deleted: " . $rc;
mysql_close($con);
?>
輸出:
Records deleted: 4