morgen allerseits,
beiss mir (wiedereinmal seit Stunden X( ) die Zähne an PHP, genauer an mysql_num_rows aus.
Eigentlich wollte ich etwas ganz simples machen: Ermitteln wieviele pms noch nicht gelesen wurden (=> read=0 in der tabelle pm).
Aber egal wie ich es mache, entweder bekomme ich ein falsches Resultat, oder nur mysql-Fehler.
Das erstaunliche ist: Wenn ich zB die Datensätze zählen lasse, bei denen die id=1 ist, dann gehts, kommt brav 1 zurück. Aber wenn ich dann nur WHERE id = '1' mit WHERE read = '0' austausche, gibts Fehler^3.
$sql = mysql_query("SELECT *
FROM pm
WHERE read = '$zahl'") OR die(mysql_error());
if(mysql_num_rows($sql) > 0){
$result = (mysql_num_rows($sql));
echo 'lalala'.$result;
} else { echo 'nix'; }
Momentan hab ichs so, dazu meint er
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read = '1''
Fantastisch!
xyz-64öse mich doch jemand aus meiner Bllindheit, ich möchte nur die ungelesenen Pms zählen, bereits die halbe Nacht :tired:
read ist ein schlüsselwort oder?
probier mal:
`read` = '$zahl'
Am Rande: Hier würde ich COUNT benutzen und nicht mysql_num_rows.
Also
list($cnt) = mysql_fetch_array(mysql_query(" SELECT COUNT(*) cnt FROM pm WHERE `read`=$zahl"));
Wenn $zahl eine Zahl ist, dann muss es gar nicht in Hochkommas. Warum es allerdings bei $zahl==0 nicht funktionieren soll ist mir schleierhaft...
jau xyz-161, das war der Fehler, dankeschön!
hab 'read' verwendet anstelle von `read`.
@ xyz-141el: danke, kannte ich noch nicht.