sql >> Databáze >  >> RDS >> Mysql

PHP/MySQL - chyba syntaxe SQL?

Ř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?



  1. převést datový typ SET MySQL na Postgres

  2. Nemohu spustit aktualizaci balíčku kvůli drahokamu mysql2

  3. AUTO_INCREMENT a LAST_INSERT_ID

  4. MySQL PHP - SELECT WHERE id =array()?