PHP - mysql_affected_rows

Syntax

mysql_affected_rows(["Datenbank-Handle"])

Erklärung

Die Funktion mysql_affected_rows gibt die Anzahl der Datensätze (Zeilen) zurück, die durch die letzte INSERT-, UPDATE- oder DELETE-Anweisung betroffen (d.h. eingefügt, geändert oder gelöscht) sind. Der Parameter "Datenbank-Handle" verweist dabei auf die mit mysql_connect hergestellte Verbindung zum MySQL-Server, auf die sich die Abfrage beziehen soll. Dieser Parameter ist optional, wird er weggelassen, so bezieht sich die Abfrage auf die letzte hergestellte Verbindung.

Werden alle Datensätze einer Tabelle gelöscht (DELETE-Anweisung ohne WHERE-Bedingung), wird nicht die Anzahl der gelöschten Datensätze, sondern NULL zurückgegeben. Ebenso werden bei einer UPDATE-Anweisung jene Datensätze nicht mitgezählt, in denen der neue Inhalt dem alten entspricht.

Diese Funktion ist nur gültig für die MySQL-Anweisungen INSERT, UPDATE und DELETE, bei einer Abfrage mit SELECT muß die Anzahl der ausgelesenen Datensätze mit mysql_num_rows ermittelt werden.

Vergleiche auch mysql_query und mysql_num_rows

Beispiel

<?php

echo mysql_affected_rows();

?>

Ergebnis:

Ausgabe der Anzahl der betroffenen Datensätze

Beispiel 2

<?php

$dbhandle = mysql_connect("sql.123.de","Hansi","pass");

$db = mysql_select_db("Links", $dbhandle);

$result = mysql_query("DELETE FROM tabelle WHERE name=bill");

echo mysql_affected_rows();

?>

Ergebnis:

Verbindung mit dem (fiktiven :) Datenbank-Server "sql123.de", danach Auswahl der Datenbank "Links", danach die MySQL-Anweisung "DELETE..." für die Tabelle "tabelle" (Löschen aller Datensätze, bei denen die Spalte "name" den Wert "bill" hat), danach Ausgabe der Anzahl der gelöschten Datensätze.

zurück: PHP - MySQL-Datenbank

Ergänzung? Fehler? Schreib uns an team@phpbox.de
Du findest phpbox.de nützlich? Wir freuen uns über einen Link auf phpbox.de

Einstieg in PHP 8 und MySQL
PHP Buch