affected_rows
In diesem Artikel konzentrieren wir uns auf die Funktion mysqli_affected_rows() in PHP, die verwendet wird, um die Anzahl der Zeilen abzurufen, die von der vorherigen MySQL-Operation betroffen sind. Wir geben Ihnen einen Überblick über die Funktion, ihre Funktionsweise und Beispiele für ihre Verwendung.
Einführung in die mysqli_affected_rows()-Funktion
Die mysqli_affected_rows()-Funktion ist eine integrierte Funktion in PHP, die verwendet wird, um die Anzahl der Zeilen abzurufen, die von der vorherigen MySQL-Operation betroffen sind. Sie wird häufig nach der Ausführung einer INSERT-, UPDATE- oder DELETE-Abfrage verwendet.
Verwendung der mysqli_affected_rows()-Funktion
Die Verwendung der mysqli_affected_rows()-Funktion ist sehr einfach. Sie müssen lediglich ein gültiges MySQLi-Verbindungsobjekt als Argument übergeben. Hier ist ein Beispiel:
So verwenden Sie die mysqli_affected_rows()-Funktion?
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
$mysqli->query("UPDATE users SET name='John' WHERE id=1");
echo "Rows updated: " . mysqli_affected_rows($mysqli);
$mysqli->close();
?>In diesem Beispiel erstellen wir ein neues MySQLi-Objekt und führen eine UPDATE-Abfrage aus, um den Namen eines Benutzers mit der ID 1 in "John" zu ändern. Anschließend rufen wir die mysqli_affected_rows()-Funktion auf, um die Anzahl der von der Abfrage betroffenen Zeilen abzurufen, und geben das Ergebnis auf der Konsole aus.
Wichtiger Hinweis zu SELECT-Abfragen
Die mysqli_affected_rows()-Funktion gibt bei SELECT-Abfragen nicht die Anzahl der Zeilen zurück; in solchen Fällen wird -1 zurückgegeben. Um die Anzahl der Zeilen in einem SELECT-Ergebnis zu zählen, verwenden Sie mysqli_num_rows() für das Ergebnisset. Darüber hinaus sind SQL_CALC_FOUND_ROWS und FOUND_ROWS() in MySQL 8.0.30+ veraltet und in 8.0.31+ entfernt worden, daher sollten sie in modernen Anwendungen nicht verwendet werden.
Fazit
Zusammenfassend lässt sich sagen, dass die mysqli_affected_rows()-Funktion ein leistungsstarkes Werkzeug zum Abrufen der Anzahl der von INSERT-, UPDATE- oder DELETE-Operationen betroffenen Zeilen in PHP ist. Durch das korrekte Verständnis der Funktionsweise können Sie Datenänderungen in Ihren MySQLi-Skripten effektiv verwalten.
Praxis
Was macht die mysqli_affected_rows()-Funktion in PHP?