Mysql
 sql >> Database >  >> RDS >> Mysql

PHP/MySQL - Errore di sintassi SQL?

Devi evitare le stringhe che stai inviando nelle tue query SQL.

Per questo, puoi usare mysql_real_escape_string funzione.

Ad esempio, il tuo codice potrebbe assomigliare a questo (non testato, ma qualcosa del genere dovrebbe fare il trucco) :

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


Un'altra soluzione (ma richiederà più lavoro, poiché dovrai modificare più codice) sarebbe usare dichiarazioni preparate; sia con mysqli_* o DOP -- ma non è possibile con il vecchio mysql_* estensione.


Modifica : se questo non funziona, puoi modificare la tua domanda, per darci maggiori informazioni? Come il pezzo di codice che causa l'errore?