Sie müssen die Zeichenfolgen, die Sie in Ihren SQL-Abfragen senden, maskieren.
Dafür können Sie den mysql_real_escape_string
verwenden
Funktion.
Ihr Code könnte beispielsweise so aussehen (nicht getestet, aber so etwas sollte funktionieren) :
$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('"
. mysql_real_escape_string($str)
. "')";
$result = mysql_query($sql_query);
Eine andere Lösung (Erfordert jedoch mehr Arbeit, da Sie mehr Code ändern müssen) wäre, vorbereitete Anweisungen zu verwenden; entweder mit mysqli_*
oder PDO
-- aber nicht möglich mit dem alten mysql_*
Erweiterung.
Bearbeiten : Wenn dies nicht funktioniert, können Sie Ihre Frage bearbeiten, um uns weitere Informationen zu geben? Wie das Stück Code, das den Fehler verursacht?