"SELECT * FROM reservation WHERE roomnum = {$room['roomnum']}
AND roomtype = {$room['roomtype']}
AND (dateout NOT BETWEEN '$start' AND '$end'
OR datein NOT BETWEEN '$start' AND '$end')"
Wenn ich diese Abfrage ich folgende Fehlermeldung erhalten, laufen:Multiple Betweens in einer Anweisung
Sie haben einen Fehler in Ihrer SQL-Syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (dateout NOT BETWEEN '2010-11-22' AND '2010-11-30' OR datei' at line 3
habe ich versucht, diese Abfrage für eine Weile Neuformatierung (mit() und die Erklärungen zu entfernen, die nicht zwischen Aussagen vor den kommen). Das Endergebnis ist immer ein Syntaxfehler. Gibt es ein Problem mit zwei Zwischenspielen?
Danke, Ryan
Wahrscheinlich weil $ room ['roomtype'] leer ist. Diese SQL ist falsch 'roomtype = AND', mysql warte auf etwas nach' = ' – RageZ
Wenn Sie die Abfrage einer Variablen zuweisen und sie drucken könnten, würde es uns helfen, besser zu debuggen. – Nigel
Plus Ich bin nicht wirklich sicher, aber es scheint, dass Ihr Code würde von SQL-Injektion leiden .... Sie wollen wahrscheinlich beginnen, parametrisierte SQL-Abfragen verwenden. http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html – RageZ