PHP mysql_affected_rows() -funktionen

Definition och användning

mysql_affected_rows() -funktionen returnerar antalet rader som påverkades av den senaste MySQL-operationen.

Syntaks

mysql_affected_rows(link_identifier)
Parameter Beskrivning
link_identifier Obligatorisk. MySQL-anslutningsidentifieraren. Om den inte specificeras används som standard den senaste som mysql_connect() Öppna anslutningar. Om den angivna anslutningen inte hittas, försöker funktionen att anropa mysql_connect() Bygg upp en anslutning och använd den. Om något oväntat händer, hittas inte anslutningen eller kan inte anslutningen skapas, ges ett varning med nivå E_WARNING av systemet.

Förklaring

Få den senaste som link_identifier Antalet rader som påverkas av den associerade INSERT, UPDATE eller DELETE-frågan.

返回值

执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。

如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。

当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

REPLACE 语句首先删除具有相同主键的记录,然后插入一个新记录。该函数返回的是被删除的记录数加上被插入的记录数。

实例

<?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