Musisz zmienić ciąg znaków, które wysyłasz w zapytaniach SQL.
W tym celu możesz użyć mysql_real_escape_string
funkcja.
Na przykład Twój kod może wyglądać tak (nie testowano, ale coś takiego powinno wystarczyć) :
$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('"
. mysql_real_escape_string($str)
. "')";
$result = mysql_query($sql_query);
Inne rozwiązanie (będzie jednak wymagało więcej pracy, ponieważ będziesz musiał zmienić więcej kodu) byłoby korzystanie z przygotowanych oświadczeń; albo z mysqli_*
lub PDO
-- ale nie jest to możliwe ze starym mysql_*
rozszerzenie.
Edytuj: jeśli to nie zadziała, czy możesz zmienić swoje pytanie, aby przekazać nam więcej informacji? Jak fragment kodu, który powoduje błąd?