PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was stimmt an meiner SQL-Syntax nicht?


Gast
2005-10-10, 13:54:51
Hey
Ich habe da ein Problem mit meiner SQL Syntax ("SELECT COUNT(*) AS counts FROM ".$dbTab["gallery"]."").
Wenn ich das COUNT(*) drin habe, dann kann ich mittels $row['counts'] erfahren, wieviele Datensätze in der Tabelle sind, aber ich kann nicht mehr die einzelnen Datensätze auslesen, z.B. $row['id'] gibt nichts zurück. Wenn ich aber das COUNT(*) AS counts weg lasse und nur * habe ("SELECT * FROM ".$dbTab["gallery"].""), dann kann ich wunderbar die Datensätze auslesen. Was mach ich den da falsch?

Hier mal mein Code:

$result=$db->query("SELECT COUNT(*) AS counts FROM ".$dbTab["gallery"]."");
while ($row=$db->fetchArray($result)) {
}

clm[k1]
2005-10-10, 14:13:15
Was mach ich den da falsch?


Nichts! Das muss so sein!
Schließlich fragst du nur die Anzahl der Einträge ab - und nicht die Einträge selbst.

ps.: Es heißt denn!


clm[k1]

Gast
2005-10-10, 14:17:09
']Nichts! Das muss so sein!
Schließlich fragst du nur die Anzahl der Einträge ab - und nicht die Einträge selbst.

ps.: Es heißt denn!


clm[k1]
Und wie mache ich, dass er dann auch die Einträge selbst abfragt? Also alles in einem, was ja auch eigentlich gehen sollte.

mithrandir
2005-10-10, 14:42:33
Dere!

Z.B. so wie in diesem Beispiel:
http://www.php.net/manual/en/function.mysql-num-rows.php

bye, Peter

Nase
2005-10-10, 17:43:05
Dere!

Z.B. so wie in diesem Beispiel:
http://www.php.net/manual/en/function.mysql-num-rows.php

bye, Peter
Das geht allerdings nur, solange die Abfrage nicht durch z.B. ein Limit begrenzt wird. Also bleibt wohl nur die Möglichkeit, zwei Abfragen auszuführen. Oder gibt es da noch was anderes?

mithrandir
2005-10-10, 19:36:10
Nicht dass ich wüsste, da man ja COUNT-Sachen nicht mit "normalen" Spalten mischen darf (ausser mit einer GROUP BY Klausel vielleicht). Also bleiben sonst nur zwei Abfragen.