MySql - Syntaxfehler - 1064
MySql - Syntaxfehler - 1064
am 22.06.2005 10:35:49 von thetwin
Hallo,
ich habe eine INSERT Anweisung geschrieben, bei der Ausführung jedoch
bekomm ich folgenden Fehler.
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 'to, from, datum, titel, msg) VALUES('TheTwin', 'TheTwin', '22.0
mysql_errno()
1064
MySql Anweisung:
$sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to', '$from', '$datum', '$titel', '$msg')";
mysql_query($sql, $connect);
Wo liegt denn der Fehler?
Auch nach x-facher Prüfung finde ich keinen Fehler.
MfG
Sandro
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 10:43:40 von Daniel Jaenecke
Sandro Paetzold schrieb:
> MySql Anweisung:
> $sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to', '$from', '$datum', '$titel', '$msg')";
> mysql_query($sql, $connect);
-snip-
Du solltest das fertige Statement ausgeben lassen (echo $sql) und
überprüfen. Ich vermute, eine der Variablen enthält zB ein
Anführungszeichen.
Möglicherweise möchtest Du Dir auch
http://www.php.net/mysql_real_escape_string ansehen.
Gruß
-dj-
--
Etwas nicht tun zu können ist kein Grund, es nicht zu tun.
[G. Shumway]
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 10:49:43 von Christoph Reeg
thetwin@arcor.de (Sandro Paetzold) writes:
> Hallo,
Hallo,
> MySql Anweisung:
> $sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to', '$from', '$datum', '$titel', '$msg')";
^ da fehlt ein VALUES
> Wo liegt denn der Fehler?
> Auch nach x-facher Prüfung finde ich keinen Fehler.
Laut Fehlermeldung mußt der Fehler kurz vor dem to sein.
HTH,
Christoph
--
Christoph Reeg (http://reeg.net/)
BOFH excuse #372:
Forced to support NT servers; sysadmins quit.
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 10:52:21 von Felix Holdener
thetwin@arcor.de (Sandro Paetzold) wrote in
news:42b922e4$0$1130$9b4e6d93@newsread4.arcor-online.net:
> Hallo,
>
> ich habe eine INSERT Anweisung geschrieben, bei der Ausführung jedoch
> bekomm ich folgenden Fehler.
>
> 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 'to, from, datum, titel, msg) VALUES('TheTwin', 'TheTwin', '22.0
>
> mysql_errno()
> 1064
>
> MySql Anweisung:
> $sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to',
> '$from', '$datum', '$titel', '$msg')"; mysql_query($sql, $connect);
Prüf doch mal, obs daran liegt, dass du reservierte Wörter (to, from,...)
verwendest:
http://dev.mysql.com/doc/mysql/en/reserved-words.html
hth
Felix
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 11:09:35 von Axel Schwenke
thetwin@arcor.de (Sandro Paetzold) wrote:
> Wo liegt denn der Fehler?
> Auch nach x-facher Prüfung finde ich keinen Fehler.
> You have an error in your SQL syntax.
> near 'to, from, datum, titel, msg) ...
....
> $sql = "INSERT INTO gbook(to, from, datum, titel, msg)
^
Hier fehlt ein Leerzeichen |
MySQL interpretiert '(' als Aufruf der Funktion
was sowohl im umgebenden Kontext sinnlos ist als auch am
Nichtvorhandensein besagter Funktion scheitern dürfte.
Außerdem verwendest du das Schlüsselwort 'from' als Spalten-
name. Also entweder quoten oder (besser) ändern.
XL
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 11:11:42 von Marian Heddesheimer
On Sun, 22 Jun 2005 8:35:49 GMT, Sandro Paetzold wrote:
>syntax to use near 'to, from, datum, titel, msg) VALUES('TheTwin', 'TheTwin', '22.0
aufgrund der Fehlermelung würde ich mal raten und glaube, dass dein
Datum im falschen Format ist. Könnte das sein?
Marian
--
Barrierefreie Online-Kurse: HTML, PHP, MySQL, Word, Excel
http://www.lernpilot.de/wbt/
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 11:41:06 von Helmut Chang
Christoph Reeg schrieb:
>>MySql Anweisung:
>>$sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to', '$from', '$datum', '$titel', '$msg')";
>
> ^ da fehlt ein VALUES
Blödsinn.
gruss, heli
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 11:54:49 von thetwin
[...]
Also es fehlen weder Leerzeichen, noch habe ich das Datum o.ä. falsch formatiert(!)
es war (wie Felix vermutete) das from von mysql reserviert ist und damit nicht als
Spaltenname genutzt werden kann!
MfG
Sandro
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 12:11:30 von dev-null-use-reply-adress
Sandro Paetzold schrieb:
> [...]
> Also es fehlen weder Leerzeichen, noch habe ich das Datum o.ä. falsch formatiert(!)
> es war (wie Felix vermutete) das from von mysql reserviert ist und damit nicht als
> Spaltenname genutzt werden kann!
Schön, Du hattest die entsprechende Antwort aber bereits letzte Nacht
auf Dein erstes Posting in d.c.l.p.misc erhalten. Warum postet
Du Deine Frage also heute Vormittag nochmal in diese Gruppe.
Diese Gruppe wäre sicher von Anfang an passender gewesen. Aber wie
gesagt, Du hattest die richtige Antwort bereits.
Noch passender wäre übrigens gleich de.comp.datenbanken.mysql
gewesen, weil Dein Problem überhaupt nichts mit PHP zu tun hat.
Eines Deiner letzten Probleme ("Schleifenproblem") hattest Du auch
parallel in d.c.l.p.datenbanken und misc gepostet.
Mensch Sandro, bitte mal zukünfitig ein wenig mitdenken, nach
Möglichkeit in die richtige Gruppe posten, und niemals *ein* Problem
in mehrere Gruppen verteilen. Danke.
Gruß, JPM
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 13:11:21 von Hartmut Holzgraefe
Marian Heddesheimer wrote:
>>syntax to use near 'to, from, datum, titel, msg) VALUES('TheTwin', 'The=
Twin', '22.0
>=20
>=20
> aufgrund der Fehlermelung würde ich mal raten und glaube, dass dein
> Datum im falschen Format ist. Könnte das sein?
Wo siest du da einen Bezug zu einem Datum?
Der Fehler liegt beim 'to', und das sagt die Fehlermeldung auch ganz
klar. 'to' und 'from' sind reservierte Worte und können nicht einfach
so als Spaltennamen benutzt werden.
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 13:12:28 von Hartmut Holzgraefe
Daniel Jaenecke wrote:
> Du solltest das fertige Statement ausgeben lassen (echo $sql) und
> überprüfen. Ich vermute, eine der Variablen enthält zB ein
> Anführungszeichen.
bitte nicht blind raten ;)
Die Fehlermeldung erfolgt deutlich schon weit vor der Werteliste,
von daher scheiden Probleme mit den Variablenwerten hier aus.
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: MySql - Syntaxfehler - 1064
am 22.06.2005 13:14:08 von Hartmut Holzgraefe
Felix Holdener wrote:
>>MySql Anweisung:
>>$sql =3D "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to',
>>'$from', '$datum', '$titel', '$msg')"; mysql_query($sql, $connect);
>=20
>=20
> Prüf doch mal, obs daran liegt, dass du reservierte Wörter (to, fro=
m,...)
> verwendest:
>=20
> http://dev.mysql.com/doc/mysql/en/reserved-words.html
Richtig, 'to' und 'from' sind reservierte Worte und erfordern Quoting:
INSERT INTO gbook(`to`, `from`, datum, ...
Bitte beachten: das sind backticks ` keine einfachen Anführungszeichen =
'
--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Re: MySql - Syntaxfehler - 1064
am 25.06.2005 16:56:40 von Peter Hansen
Sandro Paetzold schrieb:
> Hallo,
>
> ich habe eine INSERT Anweisung geschrieben, bei der Ausführung jedoch
> bekomm ich folgenden Fehler.
>
> 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 'to, from, datum, titel, msg) VALUES('TheTwin', 'TheTwin', '22.0
>
> mysql_errno()
> 1064
>
> MySql Anweisung:
> $sql = "INSERT INTO gbook(to, from, datum, titel, msg) VALUES('$to', '$from', '$datum', '$titel', '$msg')";
> mysql_query($sql, $connect);
>
> Wo liegt denn der Fehler?
> Auch nach x-facher Prüfung finde ich keinen Fehler.
>
> MfG
> Sandro
>
Hallo,
wenn du schon schreibst, dass ein Syntaxfehler vorliegt, wieso schreibst
du dann nicht das ganze vor dem Post mal in ordentlichem SQL und PHP? Du
hättest dann sicherlich die Frage hier erst garnicht stellen müssen!
Ordentlich wäre sowas wie gewesen:
$sql = "INSERT INTO `gbook`(`to`, `from`, `datum`, `titel`, `msg`)
VALUES('".$to."', '".$from."', '".$datum."', '".$titel."', '".$msg."')";
Mit einer einigermaßen konformen Schreibweise kannst du sehr viele
Fehler von vorne herein ausschließen.
MFG
Peter Hansen
Re: MySql - Syntaxfehler - 1064
am 25.06.2005 17:10:32 von Thomas Hamacher
Peter Hansen schrieb:
> Sandro Paetzold schrieb:
>> 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 'to, from, datum, titel, msg) VALUES('TheTwin', 'TheTwin', '22.0
> $sql = "INSERT INTO `gbook`(`to`, `from`, `datum`, `titel`, `msg`)
> VALUES('".$to."', '".$from."', '".$datum."', '".$titel."', '".$msg."')";
Das finde ich schlecht lesbar und es erfordert das Tippen von unnötigen
Sonderzeichen. Warum sollte man das *so* schreiben wollen?
$sql = "INSERT INTO gbook (`to`, ...) VALUES ('$to', '$from', ...)";
> Mit einer einigermaßen konformen Schreibweise kannst du sehr viele
> Fehler von vorne herein ausschließen.
ACK