# mysqli::store_result

# mysqli_store_result

(PHP 5, PHP 7, PHP 8)

mysqli::store_result -- mysqli_store_result — Überträgt die Ergebnismenge der letzten Abfrage

### Beschreibung

Objektorientierter Stil

public mysqli::store_result(int `$mode` = 0): mysqli_result|false

Prozeduraler Stil

mysqli_store_result(mysqli `$mysql`, int `$mode` = 0): mysqli_result|false

Überträgt die Ergebnismenge der letzten Abfrage über die durch `mysql` angegebene Datenbankverbindung, um sie mit der Funktion mysqli_data_seek() zu verwenden.

### Parameter-Liste

`mysql`

  Nur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.

`mode`

  Die Option, die gesetzt werden soll. Ab PHP 8.1 hat dieser Parameter keine Auswirkung mehr. Es kann einer der folgenden Werte sein:

  Gültige Optionen
  Name | Beschreibung
  --- | ---
  `MYSQLI_STORE_RESULT_COPY_DATA` | Kopiert die Ergebnisse aus dem internen mysqlnd-Puffer in die abgerufenen PHP-Variablen. Um zu vermeiden, dass im Speicher gehaltene Ergebnisse kopiert und dupliziert werden, verwendet mysqlnd standardmäßig Referenzen. In bestimmten Fällen, z. B. bei Ergebnismengen mit vielen kleinen Zeilen, kann das Kopieren den Gesamtspeicherverbrauch verringern, weil die PHP-Variablen, die Ergebnisse enthalten, früher freigegeben werden können (nur mit mysqlnd verfügbar).

### Rückgabewerte

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

> Hinweis:

> Wenn die Abfrage keine Ergebnismenge zurückgegeben hat (z. B. wenn die Abfrage eine INSERT-Anweisung war), gibt die Funktion `false` zurück. Diese Funktion gibt auch `false` zurück, wenn die Ergebnismenge nicht gelesen werden konnte. Ob ein Fehler aufgetreten ist, kann überprüft werden, indem kontrolliert wird, ob mysqli_error() eine nicht-leere Zeichenkette zurückgibt, ob mysqli_errno() einen Wert ungleich Null zurückgibt oder ob mysqli_field_count() einen Wert ungleich Null zurückgibt. Ein weiterer möglicher Grund dafür, dass diese Funktion nach einem erfolgreichen Aufruf von mysqli_query() `false` zurückgibt, kann eine zu große Ergebnismenge sein (der dafür benötigte Speicher kann nicht zugewiesen werden). Wenn mysqli_field_count() einen Wert ungleich Null zurückgibt, sollte die Anweisung eine nicht-leere Ergebnismenge erzeugt haben.

### 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.

### Changelog

Version | Beschreibung
--- | ---
8.4.0 | Die Übergabe des Parameters `mode` ist nun veraltet. Der Parameter hat seit PHP 8.1.0 keine Wirkung mehr.

### Beispiele

Siehe mysqli_multi_query().

### Anmerkungen

> Hinweis:

> Obwohl es immer sinnvoll ist, den vom Ergebnis einer Abfrage belegten Speicher mit der Funktion mysqli_free_result() freizugeben, ist dies besonders wichtig, wenn große Ergebnismengen mit der Funktion mysqli_store_result() übertragen werden.

### Siehe auch

- mysqli_real_query() - Führt eine SQL-Abfrage aus
- mysqli_use_result() - Initiiert den Abruf einer Ergebnismenge

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open