Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man MySQLi-Ergebnismengen in PHP effizient durchlaufen?

Wie kann man MySQLi-Ergebnismengen in PHP effizient durchlaufen?

DDD
DDDOriginal
2024-11-23 04:04:171023Durchsuche

How to Efficiently Iterate Through MySQLi Result Sets in PHP?

Iterieren über MySQLi-Ergebnismengen

In PHP kann das Iterieren über die Ergebnisse einer MySQL-Abfrage mit der Methode mysqli_query() erreicht werden.

Um die Ergebnismenge der Abfrage „select uid from userbase“ zu durchlaufen, können Sie Folgendes verwenden Schleife:

$output = mysqli_query($mysqli, "select uid from userbase");
foreach ($output as $row) {
    echo $row['uid'];
}

Diese Schleife ruft den UID-Wert für jede Zeile im Ergebnissatz korrekt ab und zeigt ihn an. Es nutzt die objektorientierte Syntax von MySQLi, die prägnanter und effizienter ist als die prozedurale Syntax.

Potenzielle Fehler

Der Fehler, den Sie in Ihrem Code festgestellt haben, könnte sein verursacht durch die Verwendung von fetch_array() mit dem Standardverhalten, eine Ergebnismenge zu generieren, die sowohl indizierte als auch assoziative Schlüssel (MYSQLI_BOTH) enthält. Um dies zu beheben, können Sie das gewünschte Verhalten angeben, indem Sie MYSQLI_ASSOC oder MYSQLI_NUM als zweites Argument für fetch_array() verwenden.

Alternativ können Sie die Verwendung von fetch_array() ganz vermeiden, indem Sie mysqli_query() als iterierbares Objekt verwenden, wodurch entfällt die Notwendigkeit, fetch_array() bei jeder Iteration aufzurufen Zeile.

Korrektur der Iteration

Der von Ihnen angegebene Code enthält auch ein falsches Iterationsschema. Die Variable $i sollte innerhalb der Schleife inkrementiert werden, um auf nachfolgende Zeilen im Ergebnissatz zuzugreifen, die mit Index 0 beginnen.

Daher wäre die korrekte Iteration mit fetch_array():

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array(MYSQLI_ASSOC)) {
    echo $row['uid'];
    $i++;
}

Das obige ist der detaillierte Inhalt vonWie kann man MySQLi-Ergebnismengen in PHP effizient durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn