Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der Verwendung und Parameter von MySQLI_Result :: Fetch_array ()

Detaillierte Erläuterung der Verwendung und Parameter von MySQLI_Result :: Fetch_array ()

M66 2025-05-17

Wenn Sie in PHP die Erweiterung (mySQL -verbesserte Erweiterung) verwenden, um eine Verbindung zur Datenbank herzustellen und die Abfrage auszuführen. Wenn Sie eine Abfragefunktion wie MySQLI_Query () ausführen, gibt die Abfrage ein Ergebnissatz zurück (z. B. eine Auswahlabfrage ), Sie erhalten ein MySQLI_Result -Objekt.

Dieses MySQLi_Result -Objekt ist eine Schnittstelle zum Manipulieren von Abfragergebnissen, durch die Sie die Daten lesen können, die von der Abfragezeile nach Linie und Feld nach Feld zurückgegeben werden.

Was ist MySQLI_Result?

Mysqli_Result ist ein Ergebnis-Set-Objekt, das sowohl in objektorientierten als auch in prozeduralen Stilen vorhanden ist. Es enthält alle Zeilen und Spaltendaten, die von der Datenbankabfrage zurückgegeben wurden, lädt jedoch nicht alle diese Daten gleichzeitig in den Speicher, sondern muss auf Bedarf durch verschiedene Methoden abgerufen werden.

Häufige Möglichkeiten, um Daten zu erhalten, sind:

  • fetch_assoc () → eine Reihe von assoziativen Arrays erhalten

  • fetch_row () → einen Index -Array von Zeilen abrufen

  • fetch_object () → eine Reihe von Objekten erhalten

  • fetch_array () → eine Zeile erhalten, entweder ein assoziatives Array, ein Indexarray oder beides (konfigurierbar)

Dieser Artikel konzentriert sich auf fetch_array () .

Wie verwende ich die Methode Fetch_array ()?

fetch_array () ist eine Methode von MySQLI_Result , mit der eine Datenreihe im aktuellen Ergebnissatz erhalten wird, und das Rückgabeformular ist ein Array.

Es gibt zwei Berufstile:

Objektorientierter Stil:

 $result = $mysqli->query("SELECT id, name FROM users");
$row = $result->fetch_array();

Prozessstil:

 $result = mysqli_query($conn, "SELECT id, name FROM users");
$row = mysqli_fetch_array($result);

In beiden Fällen dauert es jedes Mal, wenn es anruft, bis es keine Zeilen mehr gibt (an diesem Punkt gibt es falsch zurück).

Was bedeuten die Parameter?

Fetch_array () kann einen optionalen Parameter empfangen, um den Typ des Rückkehrarrays zu steuern.
Vollständige Signatur:

 array mysqli_fetch_array(mysqli_result $result, int $resulttype = MYSQLI_BOTH)

Der Parameter $ resultType -Wert lautet:

  • Mysqli_assoc → Nur assoziatives Array zurückgeben (Feldname als Schlüssel)

  • MySQLI_NUM → Geben Sie nur das Zahlenindexarray zurück (Feldindex ist der Schlüssel)

  • Mysqli_both (Standard) → Gibt das gemischte Array der Association + Numeric Index zurück

Zum Beispiel:

 $conn = mysqli_connect("localhost", "username", "password", "database");
$result = mysqli_query($conn, "SELECT id, name FROM users");

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    echo "ID: " . $row['id'] . " Name: " . $row['name'] . "<br>";
}

Hier verwenden wir mySQLi_assoc , so dass nur die Feldnamenschlüssel in $ row und keinen numerischen Index gibt.

Beispielcode

Vollständiges Beispiel: