Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich auf alle Ergebnisse in einem MySQLi-Ergebnissatz zu und nicht nur auf das erste?

Wie greife ich auf alle Ergebnisse in einem MySQLi-Ergebnissatz zu und nicht nur auf das erste?

Barbara Streisand
Freigeben: 2024-11-16 19:02:03
Original
728 Leute haben es durchsucht

How do I access all results in a MySQLi result set instead of just the first one?

So greifen Sie auf Ergebnisse in einem MySQLi-Ergebnissatz zu

Ihre Abfrage:

select uid from userbase 
Nach dem Login kopieren

Ihre Schleife:

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array()) {
    $deviceToken = $row[$i];
    echo $deviceToken;
    $i++;
}
Nach dem Login kopieren

Die Problem

Sie erhalten nur den ersten Wert, weil fetch_array() eine einzelne Zeile aus der Ergebnismenge abruft und Sie den Index $i verwenden, um auf Elemente in dieser Zeile zuzugreifen. Jede nachfolgende Zeile hat jedoch einen anderen Index, was zu falschen Ergebnissen führt.

Lösung

Es gibt mehrere Lösungen, um über die Ergebnismenge zu iterieren:

  • Eins nach dem anderen abrufen:

    Verwenden fetch_array(), um jeweils eine Zeile abzurufen und den Index entsprechend anzupassen:

    while ($row = $output->fetch_array()) {
        echo $row['uid'];
    }
    Nach dem Login kopieren
  • Verwenden Sie den Iterator von MySQLI:

    MySQLis Abfrage( )-Methode kann als iterierbares Objekt verwendet werden, sodass Sie die Ergebnisse als iterieren können folgt:

    foreach ($output as $row) {
        echo $row['uid'];
    }
    Nach dem Login kopieren

Hinweis:

Sie können entweder MYSQLI_ASSOC verwenden, um assoziative Arrays zu erhalten, oder MYSQLI_NUM, um indizierte Arrays als Ergebnismenge zu erhalten .

Am besten Üben

Die Verwendung der objektorientierten Syntax von MySQLi wird empfohlen, da sie den Code rationalisiert. Darüber hinaus ist es wichtig, die Indizes der Zeilen in Ihrer Iteration zu berücksichtigen, um korrekt auf die Werte zuzugreifen.

Das obige ist der detaillierte Inhalt vonWie greife ich auf alle Ergebnisse in einem MySQLi-Ergebnissatz zu und nicht nur auf das erste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage