2012-03-31 17 views
0

warum diese einfache Abfrage nicht funktioniert. Ich weiß, es war in Ordnung, bevor ich meine MySQL-Version aktualisiert habe. Ich weiß, dass es einige Syntaxänderungen in der neuen Version gibt, die ich gemacht habe. aber das ist einfach Abfrage keine Join, aber nicht funktioniert.Mysql Abfragen geben Fehler nach dem Upgrade

SELECT * FROM ship WHERE sensitive='Y' and entry_date between $startdate and $enddate 

Bitte helfen Sie mir.

EDIT:

von mysql4 Upgrade auf MySQL5 und Fehler 'Syntaxfehler'

+0

Was ist der Fehler? – surfen

+0

Sie sollten angeben, was ist der Fehler, und was ist alt und neu MySQL-Version. –

+0

siehe aktualisierte Frage –

Antwort

2

Ich glaube, Sie von MySQL 4 bis 5 aktualisiert. empfindlich ist neu reserved keyword in mysql5. Sie müssen es in Backticks (`) einschließen, während Sie es in der Abfrage verwenden. Mysql 5 ermöglicht reservierte Wörter verwendet wird Abfrage ist aber mit Backticks.

Versuchen:

SELECT * FROM ship WHERE `sensitive`='Y' and entry_date between $startdate and $enddate 
0

Sie haben "Raum" Charakter in der '$ Startdatum'. Das könnte ein Grund sein. Also, wenn Ihr $ startdate und $ enddate sind Zeitstempel:

SELECT * FROM ship WHERE `sensitive`='Y' and entry_date between $startdate and $enddate 

wenn sie nicht Zeitstempel, aber Datum im ISO-Format, aber sie in einfachen Anführungszeichen.

+0

Das war Tippfehler. Aber in der tatsächlichen Abfrage gibt es n Raum. trotzdem danke, dass du darauf hinweist –

Verwandte Themen