mysqli_stmt::store_result
mysqli_stmt_store_result
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::store_result -- mysqli_stmt_store_result — Speichert eine Ergebnismenge in einem internen Puffer
Beschreibung
Objektorientierter Stil
Prozeduraler Stil
Diese Funktion sollte nur aufgerufen werden, wenn die Abfrage eine gültige
Ergebnismenge zurückgibt (z. B. SELECT, SHOW, DESCRIBE,
EXPLAIN
) und die komplette Ergebnismenge gepuffert werden muss.
Jeder nachfolgende Aufruf von mysqli_stmt_fetch()
liefert dann Daten aus dem Puffer.
Hinweis:
Es ist unnötig, mysqli_stmt_store_result() für andere Abfragen aufzurufen. Aber in keinem Fall schadet es oder benötigt merklich Laufzeit. Ob eine Abfrage eine Ergebnismenge zurückgibt, kann festgestellt werden, indem das Ergebnis von mysqli_stmt_result_metadata() auf
false
geprüft wird.
Parameter-Liste
-
statement
-
Nur bei prozeduralem Aufruf: ein von mysqli_stmt_init() zurückgegebenes mysqli_stmt-Objekt.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Beispiele
Beispiel #1 Objektorientierter Stil
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();
/* Das Ergebnis im internen Puffer speichern */
$stmt->store_result();
printf("Die Anzahl der Datensätze: %d.\n", $stmt->num_rows);
Beispiel #2 Prozeduraler Stil
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);
/* Das Ergebnis im internen Puffer speichern */
mysqli_stmt_store_result($stmt);
printf("Die Anzahl der Datensätze: %d.\n", mysqli_stmt_num_rows($stmt));
Die obigen Bespiele erzeugen folgende Ausgabe:
Die Anzahl der Datensätze: 20.
Siehe auch
- mysqli_prepare() - Prepares an SQL statement for execution
- mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
- mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables