Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP/MySQL - erro de sintaxe SQL?


Você precisa escapar das strings que está enviando em suas consultas SQL.

Para isso, você pode usar o mysql_real_escape_string função.

Por exemplo, seu código pode ficar assim (não testado, mas algo assim deve funcionar) :
$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('" 
  . mysql_real_escape_string($str)
  . "')";
$result = mysql_query($sql_query);


Outra solução (No entanto, exigirá mais trabalho, pois você terá que alterar mais código) seria usar declarações preparadas; seja com mysqli_* ou PDO -- mas não é possível com o antigo mysql_* extensão.


Editar: se isso não funcionar, você pode editar sua pergunta, para nos dar mais informações? Como o pedaço de código que causa o erro?