Vinzenz Mai: Einzelne Einträge mit PHP und MYSQL (Distinct)

Beitrag lesen

Hallo Phil,

$sql = "select distinct 'ip' from 'counter' where server='1.1.1.1'";

counter scheint ein Spaltenname zu sein.
Spaltennamen dürfen im SQL-Dialekt von MySQL *nicht* in einfache Anführungszeichen eingeschlossen werden. Du kannst

- den Backtick nutzen.
 - auf Behandlung verzichten, da der Spaltenname counter nicht behandelt
   werden muss.
 - ANSI-Quotes einschalten und doppelte Anführungszeichen nutzen.

$ergebnis = mysql_query($sql);

liefert Dir daher einen MySQL-Fehler zurück.

echo $ergebnis;

$ergebnis enthält daher false, wie Du der Doku entnehmen kannst.

Im Erfolgsfall musst Du anschließend die Ergebniszeilen mittels der mysql_fetch-Funktionen wie z.B. mysql_fetch_array() durchlaufen. Ja auch dann, wenn es nur eine einzigen Datensatz mit einer einzigen Spalte gibt.

Noch besser wäre es, wenn Du die zwar wohldokumentierten und in Tausenden Tutorials erläuterten aber genauso veralteten und wenig leistungsfähigen mysql_*-Funktionen überhaupt nicht mehr verwendest und Dich statt dessen zum Beispiel der wesentlich leistungsfähigeren mysqli-Erweiterung von PHP zuwendest.

Freundliche Grüße

Vinzenz