Řetězce, které odesíláte ve svých dotazech SQL, musíte ukončit.
K tomu můžete použít mysql_real_escape_string
funkce.
Váš kód může vypadat například takto (netestováno, ale něco takového by mělo stačit) :
$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('"
. mysql_real_escape_string($str)
. "')";
$result = mysql_query($sql_query);
Další řešení (Bude však vyžadovat více práce, protože budete muset změnit více kódu) by bylo použít připravené výkazy; buď pomocí mysqli_*
nebo CHOP
-- ale není možné se starým mysql_*
rozšíření.
Upravit: pokud to nefunguje, můžete upravit svou otázku a poskytnout nám další informace? Jako kus kódu, který způsobuje chybu?