mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows Liefert die Anzahl betroffener Datensätze einer vorhergehenden MySQL-Operation

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:

Beschreibung

mysql_affected_rows(resource $link_identifier = NULL): int

Gibt die Anzahl der Datensätze zurück, die von der letzten INSERT- UPDATE-, REPLACE- oder DELETE-Abfrage in Verbindung mit link_identifier betroffen waren.

Parameter-Liste

Verbindungs-Kennung

Die MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg die Anzahl betroffener Datensätze und zurück -1 falls die letzte Abfrage fehlschlug.

War die letzte Abfrage ein DELETE-Anweisung ohne WHERE-Bedingung, wurden alle Datensätze aus der Tabelle gelöscht. Für MySQL-Versionen vor 4.1.2 wird diese Funktion hier aber Null (0) zurückgeben.

Verwenden Sie UPDATE, wird MySQL keine Spalten aktualisieren, bei denen der neue Wert dem alten entspricht. Das kann dazu führen, dass mysql_affected_rows() nicht die tatsächliche Anzahl der betroffenen Zeilen zurückgibt, sondern nur die, die tatsächlich von der Abfrage betroffen sind.

REPLACE-Anfragen löschen zunächst den Eintrag mit dem gleichen Primärschlüssel und fügen dann den neuen Eintrag ein. Diese Funktion gibt in diesem Fall die Summe aus gelöschten und eingefügten Einträgen zurück.

Im Falle von "INSERT ... ON DUPLICATE KEY UPDATE"-Anweisungen ist der Rückgabewert 1, wenn eine Einfügung vorgenommen wurde oder 2, wenn eine bestehende Zeile aktualisiert wurde.

Beispiele

Beispiel #1 mysql_affected_rows()-Beispiel

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Keine Verbindung möglich: ' mysql_error());
}
mysql_select_db('mydb');

/* dies sollte die korrekte Anzahl gelöschter Datensätze zurückgeben */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Gelöschte Datensätze: %d\n"mysql_affected_rows());

/* mit einer WHERE Bedingung, die niemals wahr ist, sollte 0 zurückgegeben
   werden */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Gelöschte Datensätze: %d\n"mysql_affected_rows());
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Gelöschte Datensätze: 10
Gelöschte Datensätze: 0

Beispiel #2 mysql_affected_rows()-Beispiel mit Transaktionen

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'keine Verbindung möglich: ' mysql_error());
}
mysql_select_db('mydb');

/* Update der Datensätze */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Aktualisierte Datensätze: %d\n"mysql_affected_rows());
mysql_query("COMMIT");
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Aktualisierte Datensätze: 10

Anmerkungen

Hinweis: Transaktionen

Falls Sie Transaktionen verwenden, müssen Sie mysql_affected_rows() unmittelbar nach Ihrer INSERT-, UPDATE-, oder DELETE-Abfrage aufrufen, nicht nach dem Commit.

Hinweis: SELECT Anweisungen

Um die Anzahl der gelieferten Datensätze einer SELECT-Abfrage zu erhalten, verwenden Sie stattdessen die Funktion mysql_num_rows().

Hinweis: Kaskadierende Fremdschlüssel-Beziehungen

mysql_affected_rows() zählt keine Zeilen, die implizit durch die Verwendung von ON DELETE CASCADE und/oder ON UPDATE CASCADE in Fremdschlüssel-Bedingungen betroffen sind.

Siehe auch

  • mysql_num_rows() - Liefert die Anzahl der Zeilen in einem Ergebnis
  • mysql_info() - Liefert Informationen über die zuletzt ausgeführte Anfrage

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Google reCAPTCHA in Kontaktformular einbinden

json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secret."&response=".$captcha), true) eine gültige Antwor ...

Geschrieben von lauralorde am 31.03.2025 09:08:16
Forum: PHP Developer Forum
Überprüfen ob Wert positiv / negativ ist

Zwar bietet PHP keine native positiv($var)- oder negativ($var)-Funktion, aber dein Gedankengang ist absolut sinnvoll. Die klassische if-Abfrage (i ...

Geschrieben von lauralorde am 31.03.2025 09:07:02
Forum: PHP Developer Forum
Buch über PHP, CSS und MySQL

Hey, kann ich gut verstehen! Ich fand „Modern PHP“ von Josh Lockhart und „PHP & MySQL“ von Jon Duckett super – beide sind aktuell, gut ...

Geschrieben von Jessica67 am 25.03.2025 13:04:05
Forum: Bücher-Forum
SEO-URLs und MySQL

Hallo Ich habe mich bis jetzt noch nicht groß mit Suchmaschinenoptimierung beschäftigen müssen, weil ich hauptsächlich Kundenintern verwendete ...

Geschrieben von holeioonline am 25.03.2025 08:28:40
Forum: SQL / Datenbanken