MySQL Error: (1064) beim speichern in DB

sugar

Erfahrenes Mitglied
Hallo,

ich habe folgende komische Error Meldung wenn ich meinen Inhalt in eine MySQL Datenbank speichern will:

PHP:
Error: (1064) 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 'Beat Street'.

Over the last 22 years he has created pieces world wi' at line 1

Original HTML Text den ich speichern möchte lautet: ..graffiti artist who was introduced to the scene way back in 1985 after watching the film 'Beat Street'.

Was kann daran falsch sein? Soweit ich weiß sagt die Fehlermeldung ich darf einen gewissen Ausdruck nicht verwenden aber doch nicht im Inhaltstext oder doch?

Dies ist die Anweisung zum speichern:

PHP:
$anf = "INSERT INTO `artists`(`id`, `header`, `text`, `datum`) VALUES('$ind', '$title', '$txt', '$date')";

Ist doch alles auskommentiert?

Jemand eine Idee?
 
Kannst du $anf mal mit echo ausgeben und das Ergebnis posten?
Ich habe zwar eine Vermutung, möchte das aber erstmal sehen ob ich recht habe.
Wendest du mysql_real_escape_string, addslashes oder ähnliches auf deine Variablen an?
 
Durch das Anführungszeichen im Text wird die Zeichenkettenauszeichnung in der Abfrage vorzeitig beendet. Um dies zu vermeiden, musst du die Metazeichen maskieren:
PHP:
$anf = "INSERT INTO `artists`(`id`, `header`, `text`, `datum`) VALUES('".mysql_real_escape_string($ind)."', '".mysql_real_escape_string($title)."', '".mysql_real_escape_string($txt)."', '".mysql_real_escape_string($date)."')";
 
Zurück