mysqli::use_result

mysqli_use_result

(PHP 5, PHP 7, PHP 8)

mysqli::use_result -- mysqli_use_resultInitiiert den Abruf einer Ergebnismenge

Beschreibung

Objektorientierter Stil

publicmysqli::use_result(): mysqli_result|false

Prozeduraler Stil

mysqli_use_result(mysqli$mysql): mysqli_result|false

Wird verwendet, um die Ergebnismenge der letzten mit der Funktion mysqli_real_query() über die Datenbankverbindung ausgeführten Abfrage zur Verarbeitung vorzubereiten.

Bevor die Ergebnisse einer Abfrage abgerufen werden können, muss entweder diese Funktion oder die Funktion mysqli_store_result() aufgerufen werden. Wenn keine der beiden Funktionen aufgerufen wird, schlägt die nächste Abfrage über die Datenbankverbindung fehl.

Hinweis:

Die Funktion mysqli_use_result() überträgt nicht die gesamte Ergebnismenge von der Datenbank und kann daher nicht mit Funktionen wie mysqli_data_seek() verwendet werden, um zu einer bestimmten Zeile innerhalb der Menge zu gelangen. Um diese Funktionalität zu nutzen, muss die Ergebnismenge mit mysqli_store_result() gespeichert werden. mysqli_use_result() sollte nicht verwendet werden, wenn auf der Client-Seite eine umfangreiche Verarbeitung durchgeführt wird, da dies den Server blockiert und andere Threads daran hindert, die Tabellen zu aktualisieren, aus denen die Daten geholt werden.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt ein ungepuffertes Ergebnisobjekt zurück oder false, wenn ein Fehler aufgetreten ist.

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 mysqli::use_result()-Beispiel

Objektorientierter Stil

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";


if ($mysqli->multi_query($query)) {
do {

if ($result = $mysqli->use_result()) {
while (
$row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}

if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while (
$mysqli->next_result());
}


$mysqli->close();
?>

Prozeduraler Stil

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");


if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";


if (mysqli_multi_query($link, $query)) {
do {

if ($result = mysqli_use_result($link)) {
while (
$row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}

if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (
mysqli_next_result($link));
}


mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer

Siehe auch

To Top