Peter Mairhofer: PHP-SQL != phpmyadmin != mysql?

Beitrag lesen

Ich versteh' irgendwie nix mehr.
Vor kurzem habe ich Nested Sets eingebaut, dafür habe ich mehrere SQL Befehle per ';' getrennt:
LOCK TABLES (...); UPDATE (...); UPDATE (...); UNLOCK TABLES (...);

Das hat sowohl in mysql (Konsole) als auch in phpmyadmin funktioniert. In PHP selbst, mit mysql_query bekam ich immer einen Fehler, ausser wenn ich die einzelnen Anweisungen getrennt abgefragt habe. (aber das ist jetzt egal, die eigentliche Frage kommt jetzt):

Jetzt habe ich eine komplexe Abfrage:

SELECT t_user.userID, nachname, vorname, th_orte.ort, t_user.aktiv, adm, lag, zkw, vst, vip, fgu, wisp, bipa, gem, ver, newsl, COUNT (DISTINCT ts_user_login_i.date_login) AS immer, COUNT (DISTINCT ts_user_login_m.date_login) AS in60, COUNT (DISTINCT ts_user_login_k.date_login) AS in14 FROM t_user LEFT JOIN th_orte ON th_orte.ortID = t_user.ortID LEFT JOIN th_land ON th_land.landID = t_user.landID LEFT JOIN ts_user_login AS ts_user_login_i ON ts_user_login_i.userID = t_user.userID LEFT JOIN ts_user_login AS ts_user_login_m ON ts_user_login_m.userID = t_user.userID AND ts_user_login_m.date_login > '20031127,09:00:00' LEFT JOIN ts_user_login AS ts_user_login_k ON ts_user_login_k.userID = t_user.userID AND ts_user_login_k.date_login > '20031127,10:00:00' GROUP BY t_user.userID ORDER BY nachname LIMIT 0, 40

In phpmyadmin funktioniert das prächtig, sowohl in mysql als auch in PHP-Mysql bekomme ich diese Fehlermeldung:

ERROR 1064: You have an error in your SQL syntax near '(DISTINCT ts_user_login_i.date_login) AS immer, COUNT (DISTINCT ts_user_login_m.' at line 1

Ich versteh' gar nix mehr, diese 2 Fälle machen mich irgendwie stutzig. Ich rufe alles auf dem gleichen Server auf, sollten dann nicht alle SQL-Abfragen gleich funktionieren?

Was ist jetzt der Fehler bzw. wieso geben alle 3 Sachen (phpmyadmin, mysql & PHP-Mysql-API) andere Resultate?

Peter