PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler im Longblob Feld (is not null)


phpTippse
24.07.2007, 15:27:07
Hi Leute,

warum funktioniert meine folgende Abfrage von PHP aus auf meine MySQL Datenbank nicht?

SELECT uid FROM user WHERE sex = w AND (alter BETWEEN '20' AND '21' AND show_alter = 1) AND (image IS NOT NULL) AND active = 1 LIMIT 15

Ich bekomme folgende Fehlermeldung:

Error: Exception: MySQL-Error: 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 'alter BETWEEN '20' AND '21' AND show_alter = 1)
AND (image IS NOT NULL)
' at line 3 in Query: SELECT uid FROM user
WHERE sex = w
AND (alter BETWEEN '20' AND '21' AND show_alter = 1)
AND (image IS NOT NULL)
AND active = 1
LIMIT 15

Liegt es an dem Blobfeld, dass man den Inhalt anders abfragen muss? Oder muss irgendwo Kommata setzen?

meikel (†)
24.07.2007, 15:36:06
warum funktioniert meine folgende Abfrage von PHP aus auf meine MySQL Datenbank nicht?
Weil ALTER ein reserviertes Wort ist. Entweder Backticks verwenden oder die Spalte umbenennen.

vt1816
24.07.2007, 15:36:54
Du benutzt in Deinem SQL-Statment ein reserviertes Wort (http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html) (-> ALTER).

phpTippse
24.07.2007, 16:14:27
Vielen Dank ihr Engelschen :o) Fehlten außerdem noch '' beim Geschlecht. Nun funktioniert es wunderbar *freu*

phpTippse
24.07.2007, 16:29:47
Bonusfrage: kann ich innerhalb eines SQL - Statements ermitteln, ob mein Longblob 0 Bytes hat?

vt1816
24.07.2007, 16:54:07
Bonusfrage: kann ich innerhalb eines SQL - Statements ermitteln, ob mein Longblob 0 Bytes hat?

Innerhalb des Statments kannst Du es nicht ermitteln - nur mit einem SQL-Statment.