English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die Funktion mysqli_affected_rows() gibt die Anzahl der von der letzten MySQL-Operation betroffenen Zeilen zurück
mysqli_affected_rows()Die Funktion dient dazu: Wenn sie nach einer INSERT-, UPDATE-, REPLACE- oder DELETE-Abfrage aufgerufen wird, gibt sie die Anzahl der Zeilen zurück, die durch die vorherige Operation betroffen wurden.
Diese Funktion gibt die Anzahl der Zeilen zurück, die nach dem SELECT-Ausdruck verwendet werden.
mysqli_affected_rows($con)
Nummer | Parameter und Beschreibung |
---|---|
1 | con (notwendig) Dies ist ein Objekt, das die Verbindung zum MySQL-Server darstellt. |
Die PHP-Funktion mysqli_affected_rows() gibt einen Ganzzahlwert zurück, der die Anzahl der Zeilen angibt, die durch die vorherige (SELECT, INSERT, UPDATE, REPLACE oder DELETE)-Operation beeinflusst wurden.
wenn die vorherige Abfrage Fehler hat, gibt diese Funktion -1. Wenn es keine betroffenen Zeilen gibt oder die vorherige Abfrage/nicht die oben erwähnten Abfragen ist/einer Operation zurückgibt, wenn eine der folgenden Operationen durchgeführt wird.
Diese Funktion wurde ursprünglich in der PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.
Die folgenden Beispiele zeigenmysqli_affected_rows()Verwendung der Funktion (Programmstil)
<?php //Verbindung erstellen $con = mysqli_connect("localhost", "root", "password", "mydb"); //Abfrage, um alle Zeilen der Tabelle employee abzurufen mysqli_query($con, "SELECT * FROM employee"); //betroffene Zeilen $rows = mysqli_affected_rows($con); print("Anzahl der betroffenen Zeilen: \n".$rows); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Anzahl der betroffenen Zeilen: 5
In der objektorientierten Stil, die Syntax der Funktion ist $con -> affected_rows, wobei $con ist ein Verbindungsobjekt-
<?php //Verbindung erstellen $con = new mysqli("localhost", "root", "password", "mydb"); //Abfrage, um alle Zeilen der Tabelle employee abzurufen $con -> query("SELECT * FROM employee"); //Anzahl der betroffenen Zeilen $rows = $con -> affected_rows; print("Anzahl der betroffenen Zeilen: \n".$rows); //Verbindung schließen $con -> close(); ?>
Ausgabeergebnis
Anzahl der betroffenen Zeilen: 5
Wenn nachfolgendem Fall, überprüfen wir den Rückgabewert dieser Funktion: Keine (angegebene) Abfrage und die Abfrage hat Fehler oder beeinflusst keine Zeilen:
<?php //Verbindung erstellen $con = mysqli_connect("localhost", "root", "password", "mydb"); $rows1 = mysqli_affected_rows($con); print("Betroffene Zeilen (keine vorgeschriebene Aktion): \n".$rows1"\n"); //Abfrage, um alle Zeilen der Tabelle employee abzurufen mysqli_query($con, "SELECT * FROM employee"); $rows2 = mysqli_affected_rows($con); print("Betroffene Zeilen (bei Abfragefehler): \n".$rows2"\n"); //Abfrage, um alle Zeilen der Tabelle employee abzurufen mysqli_query($con, "SELECT FIRST_NAME FROM employee WHERE AGE <=19"); $rows3 = mysqli_affected_rows($con); print("Betroffene Zeilen (wenn die Abfrage keine Aktion ausführt): \n".$rows3"\n"); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
Betroffene Zeilen (wenn keine Aktion vordefiniert ist): 0 Betroffene Zeilen (bei Fehlern in der Abfrage): -1 Betroffene Zeilen (wenn die Abfrage keine Aktion ausführt): 0
Die folgenden Beispiele zeigen SELECT, UPDATE, INSERT und DELETE-Abfragenmysqli_affected_rowsVerwendung der Funktion-
<?php //Verbindung herstellen $con = mysqli_connect("localhost", "root", "password", "mydb"); //Abfrage aller Zeilen in der Tabelle employee mysqli_query($con, "SELECT * FROM employee WHERE INCOME > 8000"); print("SELECT-Abfrage betroffene Zeilen: ".mysqli_affected_rows($con)."\n"); //Abfrage zum Aktualisieren von Zeilen in der Tabelle employee mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN ('Ramya', 'Trupthi', 'Sarmista')"); print("UPDATE-Abfrage betroffene Zeilen: ".mysqli_affected_rows($con)."\n"); //Abfrage zum Einfügen einer Zeile in die Tabelle employee mysqli_query($con, "INSERT INTO employee VALUES ('Archana', 'Mohonthy', 30, 'M', 13000, 106); print("INSERT-Abfrage betroffene Zeilen: ".mysqli_affected_rows($con)."\n"); //Abfrage zum Löschen von Zeilen in der Tabelle employee mysqli_query($con, "DELETE FROM employee WHERE AGE > 25"); print("DELETE-Abfrage betroffene Zeilen: ".mysqli_affected_rows($con)."\n"); //Verbindung schließen mysqli_close($con); ?>
Ausgabeergebnis
SELECT-Abfrage betroffene Zeilen: 4 UPDATE-Abfrage betroffene Zeilen: 3 INSERT-Abfrage betroffene Zeilen: 1 DELETE-Abfrage betroffene Zeilen: 3