dedlfix: In PHP-/MySQL-Abfrage fehlt erster Datensatz

Beitrag lesen

Tach!

"Datensatzkonsumierender Funktionsaufruf" heißt das also... 😉 Schon mal gut zu wissen!

Das ist kein Fachbegriff, sondern nur eine Beschreibung, was eine solche Funktion macht. Beispielsweise bewegen die Fetch-Funktionen beim Aufruf den Zeiger in der Ergebnismenge um eins weiter, damit sieht der Datensatz aus wie entfernt/konsumiert, beim nächsten Fetch-Aufruf. Aber man kann diesen Ergebnismengenzeiger mit mysqli_data_seek() auch wieder zurückstellen. Das würde ich aber in deinem Fall nicht tun, sondern erstmal die Ursache finden. Und das wird wohl auch nicht erfolgreich sein, wenn bereits die Zählung einen Datensatz zu wenig ergibt.

Um Deine Frage zu beantworten: Ja, ich bin mir sicher, dass ein Datensatz fehlt, da ich ihn bei der Abfrage in der MySQL-Workbench angezeigt bekomme und ich zur Sicherheit mit dem gleichen Schema auch noch andere Abfragen gemacht habe - immer das Gleiche: Der erste Datensatz fehlt, alle anderen werden vollständig korrekt in der Tabelle angezeigt.

Sehr gut, dass du das so überprüft hast. Das ist immer eine gute Idee, die Query erstmal in so einem Managementsystem laufen zu lassen.

Wahrscheinlich ist sogar der komplette Teil des Codes ab dem html-Teil irrelevant, denn interessanterweise ergibt schon ein Echo des $resultCheck1 einen Datensatz zuwenig. (Im Fall der oben angegebenen Abfrage wird mir die Zahl 5 statt der 6 angezeigt.) Woran könnte es noch liegen?

Vielleicht greifst du auf eine andere Datenbank zu, die einen Datensatz weniger enthält.

Wenn du nicht weiterkommst, erstell mal eine neue PHP-Datei und führt das Beispiel von mysqli_fetch_assoc() aus, angepasst an deine Gegebenheiten. Statt der printf()-Zeile im while-Teil kannst du der Einfachheit halber print_r($row); nehmen.

dedlfix.