PHP mysql_affected_rows() function
Definition and Usage
The mysql_affected_rows() function returns the number of record rows affected by the last MySQL operation.
Syntax
mysql_affected_rows(link_identifier)
Parameter | Description |
---|---|
link_identifier | Required. The MySQL connection identifier. If not specified, the last one used will be used by default. mysql_connect() Open connection. If the connection is not found, the function will try to call mysql_connect() Establish a connection and use it. If an unexpected event occurs, no connection is found or the connection cannot be established, the system emits a warning message at the E_WARNING level. |
Description
Obtain the last one related to link_identifier The number of record rows affected by the associated INSERT, UPDATE, or DELETE query.
Wird der Wert zurückgegeben
Wird ein Erfolg ausgeführt, wird die Anzahl der betroffenen Zeilen zurückgegeben, wenn die letzte Abfrage fehlschlägt, gibt die Funktion -1 zurück.
Wenn die letzte Operation eine DELETE-Anfrage ohne Bedingungen (WHERE) ist, werden alle Einträge im Tisch gelöscht, aber der Wert dieser Funktion war vor Version 4.1.2 immer 0.
Bei der Verwendung von UPDATE-Anfragen aktualisiert MySQL nicht die Spalten, deren Wert gleich dem alten Wert ist. Dies führt dazu, dass der Wert von mysql_affected_rows() nicht unbedingt die Anzahl der Einträge ist, die den Suchbedingungen entsprechen, sondern nur die Anzahl der tatsächlich geänderten Einträge wird zurückgegeben.
Die REPLACE-Anweisung löscht zunächst die Einträge mit der gleichen Primärschlüssel und fügt dann einen neuen Eintrag hinzu. Die Funktion gibt die Anzahl der gelöschten und eingefügten Einträge zurück.
Beispiel
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Konnte nicht verbinden: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Gelöschte Aufzeichnungen: " . $rc; mysql_close($con); ?>
Ausgabe:
Gelöschte Aufzeichnungen: 4