(PHP 5, PHP 7, PHP 8)
mysqli_result::__construct — Erstellt ein mysqli_result-Objekt
Diese Methode erstellt ein neues mysqli_result-Objekt.
Sie kann nach dem Aufruf einer der Funktionen mysqli_real_query() oder mysqli_multi_query() verwendet werden, um ein mysqli_result-Objekt zu erstellen. Das Objekt manuell zu konstruieren entspricht dem Aufruf der Funktionen mysqli_store_result() oder mysqli_use_result().
mysql
Nur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.
result_mode
Der Ergebnismodus kann eine von 2 Konstanten sein, die angeben, wie das Ergebnis vom MySQL-Server zurückgegeben wird.
MYSQLI_STORE_RESULT
(Standard) - erstellt ein
mysqli_result-Objekt mit einer gepufferten
Ergebnismenge.
MYSQLI_USE_RESULT
- erstellt ein
mysqli_result-Objekt mit einer ungepufferten
Ergebnismenge. Solange es noch Datensätze gibt, die darauf warten,
abgerufen zu werden, ist die Verbindung belegt und alle nachfolgenden
Aufrufe geben den Fehler Commands out of sync
zurück.
Um den Fehler zu vermeiden, müssen alle Datensätze vom Server abgerufen
werden oder die Ergebnismenge muss durch den Aufruf der Funktion
mysqli_free_result() verworfen werden. Die Verbindung
muss offen bleiben, damit die Zeilen abgerufen werden können.
Wenn die mysqli-Fehlerberichterstattung aktiviert ist (MYSQLI_REPORT_ERROR
) und die angeforderte Operation fehlschlägt,
wird eine Warnung erzeugt. Wenn außerdem der Modus auf MYSQLI_REPORT_STRICT
gesetzt ist,
wird stattdessen eine mysqli_sql_exception ausgelöst.
Beispiel #1 Erstellen eines mysqli_result-Objekts
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Select-Abfragen geben eine Ergebnismenge zurück */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");
$result = new mysqli_result($mysqli);
printf("Select gab %d Zeilen zurück.\n", $result->num_rows);
Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:
Select gab 10 Zeilen zurück.