Vinzenz Mai: Anzahl der Datensätze ausgeben

Beitrag lesen

Hallo,

Wenn ich jetzt nur bestimmte Datensätze zählen mlöhcte, in dem Fall alle, wo der Vorname "Hans" ist, habe ich es so versucht:

dann versucht man - ganz besonders als Datenbankanfänger - die entsprechenden Statements in einem Client direkt auszuführen.

$statement='SELECT vorname FROM 11\_dbtest WHERE vorname=Hans';

Es gibt keine Spalte, die Hans heißt. Die (ekligen) Backticks verwendet MySQL zum Quoten von Bezeichnern, nicht von Zeichenketten.

Zeichenketten werden in SQL üblicherweise in einfache Anführungszeichen gesetzt, d.h. Dein Statement sollte somit

SELECT vornameFROM11_dbtestWHEREvorname='Hans'

lauten. Da Du nur an der Anzahl interessiert bist, ist es natürlich viel weniger Aufwand (für alle Beteiligten), genau die Anzahl abzufragen:

    SELECT  
        [link:http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_count@title=COUNT](`vorname`) Anzahl    -- ein netter Spaltenname (Alias)  
    FROM  
        `11_dbtest`  
    WHERE  
        `vorname` = 'Hans'  

Da Du in diesem Fall nur einen Datensatz erhältst, kannst Du direkt auf den Inhalt der Spalte mit dem Namen Anzahl zugreifen. PHPs num_row() liefert selbstverständlich *nicht* den von Dir gewünschten Wert. Es ist keine gute Idee, eine Million Datensätze abzurufen, wenn man nur an einer Zahl interessiert ist.

Freundliche Grüße

Vinzenz