Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP/MySQL - Erreur de syntaxe SQL ?

Vous devez échapper les chaînes que vous envoyez dans vos requêtes SQL.

Pour cela, vous pouvez utiliser le mysql_real_escape_string fonction.

Par exemple, votre code pourrait ressembler à ceci (non testé, mais quelque chose comme ça devrait faire l'affaire) :

$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('" 
  . mysql_real_escape_string($str)
  . "')";
$result = mysql_query($sql_query);


Une autre solution (nécessitera plus de travail, car vous devrez modifier plus de code) serait d'utiliser des déclarations préparées; soit avec mysqli_* ou AOP -- mais impossible avec l'ancien mysql_* extension.


Modifier : si cela ne fonctionne pas, pouvez-vous éditer votre question, pour nous donner plus d'informations ? Comme le morceau de code qui provoque l'erreur ?