Statement on glibc/iconv Vulnerability

mysqli_result::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_result::__constructErstellt ein mysqli_result-Objekt

Beschreibung

public mysqli_result::__construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT)

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().

Parameter-Liste

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.

Fehler/Exceptions

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.

Beispiele

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.

Siehe auch

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top