(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.
If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR
) and the requested operation fails,
a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT
,
a mysqli_sql_exception is thrown instead.
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.