PHP+mySQL

Ennsen

Grünschnabel
Hallo, habe folgendes Problem:
Bin blutiger Anfänger und muß heute zum ersten Mal mit mysql arbeiten und bekomme es einfach nicht hin, mir eine bestimmte Spalte mit PHP ausgeben zu lassen.

Sieht ungefähr so aus:

Die Spalte heißt "Q1",
mit folgender Abfrage will ich mir ausgeben lassen, wieviele Einträge in Spalte Q1 den Wert 1 haben.

$result = mysql_query("SELECT COUNT(Q1) FROM tablename WHERE Q1=1");

klappt auch mit phpmyadmin wunderbar. Nur wenn ich es mir mit php ausgeben lassen will

echo "Davon haben ".mysql_result($result, 0, 2)." Einträge den Wert 1<br>\n";

krieg ich folgende Fehlermeldung:
Warning: Bad column offset specified in c:\apache\htdocs\test\abfrage1.php on line 29

Wäre toll, wenn mir jemand nen Tip geben könnte, wie ich das formulieren muß, damit mir das Ergebnis angezeigt wird.
Besten Dank, Ennsen
 
PHP:
$result = mysql_query("SELECT COUNT(Q1) FROM tablename WHERE Q1='1'");

die Hochkommas bei der WHERE klausel haben gefehlt.
 
Daran liegt es nicht, hatte ich vorher auch schon probiert, aber die Fehlermeldung bleibt dieselbe.
Hab aber trotzdem dazu ne Frage: Der Wert in Q1 ist ein tinyinteger-Wert, muß ich den dann trotzdem in Hochkommata setzen? Ich dachte, dann würde es als String gesetzt?
 
Wie wärs denn damit:

PHP:
$ergebnis = mysql_query("SELECT * FROM table WHERE Q1='1'");
$anzahl = mysql_num_rows($ergebnis);

echo "Davon haben $anzahl Einträge den Wert 1<br>\n";

Es werden alle Einträge ausgelesen, die bei Q1 den Wert 1 haben und danach wird einfach gezählt, wieviel Einträge nun ausgelesen wurden (und das können ja nunmal nur die sein, die den Wert 1 besitzen).
 
hi
a) man kann es wie ludz machen

b) ein count braucht immer ein group by
sprich
select count(q1) from tabellenname group by q1 where q1='1'
 
Zurück