Bei der Arbeit mit Datenbanken mit PHP und MySQL kann es vorkommen, dass Sie mehr als einmal auf dieselben Abfrageergebnisse zugreifen müssen mit der Funktion mysqli_fetch_array(). Der Versuch, mysqli_fetch_array() mehrmals für dieselbe Ergebnismenge zu verwenden, führt jedoch zu einer leeren Ausgabe.
Dies liegt daran, dass mysqli_fetch_array() den Zeiger in der Ergebnismenge abruft und vorrückt. Wenn Sie also versuchen, dasselbe Ergebnis erneut abzurufen, sind keine Daten mehr zum Abrufen übrig.
Um dieses Problem zu beheben, sollten Sie die Datenbearbeitung von der Ausgabe trennen. Rufen Sie zunächst alle Daten aus der Datenbank ab und speichern Sie sie in einem Array:
$db_res = mysqli_query($db_link, $sql);
$data = [];
while ($row = mysqli_fetch_assoc($db_res)) {
$data[] = $row;
}
Hinweis: Seit PHP 5.3 können Sie fetch_all() anstelle der expliziten Schleife verwenden:
$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);
Sobald Sie die Daten in einem Array gespeichert haben, können Sie es so oft wie nötig durchlaufen:
Oberste Zeile :
foreach ($data as $row) {
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3