Wie man mysqli-Ergebnismengen mehrmals durchläuft
Bei der Arbeit mit MySQL-Datenbanken mit PHP kann es notwendig sein, auf die von zurückgegebenen Daten zuzugreifen eine Abfrage mehrmals. Die zweimalige Verwendung von mysqli_fetch_array() für dasselbe Ergebnis funktioniert jedoch nicht.
Lösung
Um diese Einschränkung zu überwinden, trennen Sie die Datenmanipulation von der Ausgabe:
Wählen und speichern Sie die Daten:
Wählen Sie zunächst die Daten aus der Datenbank aus und speichern Sie sie in einem Array:
$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
Alternativ können Sie fetch_all() für PHP-Versionen 5.3 und höher verwenden:
$db_res = mysqli_query( $db_link, $sql ); $data = $db_res->fetch_all(MYSQLI_ASSOC);
Iterieren Sie über die gespeicherten Daten Daten:
Jetzt können Sie für die Ausgabe über die gespeicherten Daten im Array iterieren:
// Top row foreach ($data as $row) {
Das obige ist der detaillierte Inhalt vonWie kann ich in PHP mehrmals über einen MySQL-Ergebnissatz iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!