dedlfix: PHP + Mysql (COUNT(*))

Beitrag lesen

Hi!

ich möchte gerne prüfen ob ein Eintrag in der Datenbank schon vorhanden ist oder nicht.
$einlesen = mysql_query("SELECT COUNT(*) FROM tabelle WHERE id ='$id'");

COUNT() ist eine Aggregatfunktion, die stets ein Ergebnis liefert, und wenn es 0 ist. (Beim Gruppieren liefert es COUNT() pro Gruppe eins.)

if(mysql_num_rows($einlesen)==1)

Das ist der Ergebnisdatensatz mit dem COUNT-Ergebnis, was du da siehst. Du musst nun noch das Ergebnis wie bei "normalen" Abfragen abholen.

P.S. SELECT */feldliste FROM ... und dann darauf nur mysql_num_rows() anenden, ohne die selektierten Datensätze zu verarbeiten ist zwar einfacher als der nach dem COUNT() benötigte Abfrage-Code, aber es ist Ressourcenverschwendung. mysql_query() holt bereits im Hintergrund die Ergebnismenge und lagert sie zwischen. Nur deshalb können Funktionen wie mysql_num_rows() ein richtiges Ergebnis liefern.

Lo!