Tach!
also wenn ich dieses ausführen lasse
SELECT count(*) as total, p_id, p_type, p_pkategorie, p_code, p_hersteller, p_serie, p_geraet, p_bezeichnung, p_bild, p_artnr, p_farbe, p_inhalt, p_preis, p_bestand, p_hinweis, p_status FROM web_produkte
erhält meine Ausgabe nur einen Eintrag. Lasse ich das count() as total weg, habe ich wieder alle.
Ja klar, weil COUNT(*)
eine Aggregatfunktion ist. Die führt alle Ergebnisse der Ergebnismenge zu einer Zeile zusammen. Oder bei Gruppen zu einer je Gruppe. COUNT(*) ist dafür da, die Anzahl der betroffenen Datensätze zu zählen. Die Datensätze selbst landen nicht in der Ergebnismenge.
Die Frage ob COUNT(*)
oder num_rows das Mittel der Wahl ist, hängt von der Aufgabenstellung ab. Benötigst du nur die Anzahl, dann nimm COUNT(*)
. Benötigst du die Datensätze ebenfalls, dann nimm num_rows (und store_result) zusätzlich zum Fetchen. Gehen wir von letzterem aus, ist dein Fehler nicht im SQL-Bereich zu suchen, sondern eine Wissenslücke im Bereich OOP. Deshalb bitte Grundlagenwissen aneignen: Was sind Eigenschaften (properties) und was sind Methoden (methods). Und wie notiert man das, wenn man Eigenschaften auslesen möchte und wie wenn man Methoden ausführen möchte.
dedlfix.