PHP mysql_affected_rows() 函数

定义和用法

mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。

语法

mysql_affected_rows(link_identifier)
参数 描述
link_identifier 必需。MySQL 的连接标识符。如果没有指定,默认使用最后被 mysql_connect() 打开的连接。如果没有找到该连接,函数会尝试调用 mysql_connect() 建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出 E_WARNING 级别的警告信息。

说明

取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

Dönüş değeri

Başarıyla çalışıldığında, etkilenen satır sayısını döner, en son sorgu başarısız olduysa fonksiyon -1 döner.

Son işlem, herhangi bir koşul (WHERE) olmayan DELETE sorgusuysa, tablonun tüm kayıtları silinir, ancak bu fonksiyonun döndüğü değer 4.1.2 sürümünden önce 0 olarak döner.

UPDATE sorgusu kullanıldığında, MySQL, eski değerle yeni değer aynı olan sütunları güncellemez. Bu nedenle, mysql_affected_rows() fonksiyonunun döndüğü değer, sorgu koşullarına uyan kayıt sayısı olmayabilir, sadece gerçekten değiştirilen kayıt sayısı döner.

REPLACE cümlesi öncelikle aynı ana anahtarın sahip olan kayıtları siler, ardından yeni bir kayıt ekler. Bu fonksiyon, silinen kayıt sayısını ve eklenen kayıt sayısını döner.

Örnek

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die("Bağlantı Kurulamadı: " . mysql_error());
  }
mysql_select_db("mydb");
mysql_query("DELETE FROM mytable WHERE id < 5");
$rc = mysql_affected_rows();;
echo "Silinen Kayıtlar: " . $rc;
mysql_close($con);
?>

Çıktı:

Silinen Kayıtlar: 4