mysql_affected_rows

mysql_affected_rows() 函式返回前一次 MySQL 操作所影響的記錄行數。

基本介紹

  • 中文名:取得前一次 MySQL 操作所影響的記錄行數
  • 外文名:mysql_affected_rows
  • 參數:link_identifier
  • 返回值:本函式返回值在4.1.2版之前都為0
  • 性質:編程
簡介,語法,說明,參數,返回值,例子,

簡介

(PHP 3, PHP 4, PHP 5)
取得前一次 MySQL 操作所影響的記錄行數

語法

mysql_affected_rows(link_identifier)
參數
描述
link_identifier
必需。MySQL 的連線標識符。如果沒有指定,默認使用最後被mysql_connect()打開的連線。如果沒有找到該連線,函式會嘗試調用mysql_connect()建立連線並使用它。如果發生意外,沒有找到連線或無法建立連線,系統發出 E_WARNING 級別的警告信息。

說明

int mysql_affected_rows ( [resource link_identifier] )
取得一次與 link_identifier 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。

參數

link_identifier

返回值

執行成功則返回受影響的行的數。如果上一次查詢失敗的話,函式返回 -1。如果上一次操作是沒有任何條件(WHERE)的 DELETE 查詢,在表中所有的記錄都會被刪除,但本函式返回值在 4.1.2 版之前都為 0。
當使用 UPDATE 查詢,MySQL 不會將原值和新值一樣的列更新。這樣使得 mysql_affected_rows() 函式返回值不一定就是查詢條件所符合的記錄數,只有真正被修改的記錄數才會被返回。
REPLACE 語句首先刪除具有相同主鍵的記錄,然後插入一個新記錄。本函式返回的是被刪除的記錄數加上被插入的記錄數。

例子

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb'); /* 本例返回被刪除記錄的準確數目 */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());
/* 對於非真值的 WHERE 子句,應返回 0 */
mysql_query('DELETE FROM mytable WHERE 0');
?>
上例的輸出類似於:
Records deleted: 10

相關詞條

熱門詞條

聯絡我們