mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli::$affected_rows -- mysqli_affected_rows Liefert die Anzahl der Datensätze, die vom letzten MySQL-Vorgang betroffen waren

Beschreibung

Objektorientierter Stil

Prozeduraler Stil

mysqli_affected_rows(mysqli$mysql): int|string

Gibt die Anzahl der von der letzten INSERT-, UPDATE-,REPLACE- oder DELETE-Abfrage betroffenen Datensätze zurück. Entspricht bei SELECT-Anweisungen mysqli_num_rows().

Parameter-Liste

mysql

Nur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.

Rückgabewerte

Eine Ganzzahl größer als Null zeigt die Anzahl der betroffenen oder abgerufenen Datensätze an. Null gibt an, dass bei einer UPDATE-Anweisung keine Datensätze aktualisiert wurden, keine Datensätze mit der WHERE-Klausel übereinstimmen oder dass die Datenbankabfrage noch nicht aufgeführt wurde. -1 gibt an, dass die Datenbankabfrage einen Fehler zurückgegeben hat oder dass mysqli_affected_rows() für eine ungepufferte SELECT-Abfrage aufgerufen wurde.

Hinweis:

Ist die Anzahl der betroffenen Datensätze größer als der maximale Integer-Wert (PHP_INT_MAX), wird die Anzahl der betroffenen Datensätze als Zeichenkette zurückgegeben.

Beispiele

Beispiel #1 $mysqli->affected_rows-Beispiel

Objektorientierter Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Betroffene Datensätze (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");


$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Betroffene Datensätze (UPDATE): %d\n", $mysqli->affected_rows);


$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Betroffene Datensätze (DELETE): %d\n", $mysqli->affected_rows);


$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Betroffene Datensätze (SELECT): %d\n", $mysqli->affected_rows);


$mysqli->query("DROP TABLE Language");

Prozeduraler Stil

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");


mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Betroffene Datensätze (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");


mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Betroffene Datensätze (UPDATE): %d\n", mysqli_affected_rows($link));


mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Betroffene Datensätze (DELETE): %d\n", mysqli_affected_rows($link));


$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Betroffene Datensätze (SELECT): %d\n", mysqli_affected_rows($link));


mysqli_query($link, "DROP TABLE Language");

Die obigen Bespiele erzeugen folgende Ausgabe:

Betroffene Datensätze (INSERT): 984 Betroffene Datensätze (UPDATE): 168 Betroffene Datensätze (DELETE): 815 Betroffene Datensätze (SELECT): 169

Siehe auch

To Top