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

Mysql Real Escape String Funzione PHP che aggiunge \ alla voce del mio campo

Se stai ricevendo i tuoi dati $content da un modulo (e non "così com'è" nel codice PHP) , forse stai riscontrando un problema a causa delle virgolette di Magic (vedi magic_quotes_gpc )

Fondamentalmente:

Se le virgolette magiche sono abilitate (puoi verificarlo nell'output di phpinfo() , per esempio) , otterrai quel tipo di "doppia fuga" :

  • Questi personaggi verranno eliminati una volta da virgolette magiche,
  • E, quindi, verranno sottoposti a escape una seconda volta da mysql_real_escape_string


La buona soluzione, in questo caso, è non smettere di usare mysql_real_escape_string , ma per disabilitare magic_quotes_gpc nella tua configurazione...

... Ma, poiché non hai accesso ad esso, dovrai effettivamente "ripristinare" l'effetto delle virgolette magiche, chiamando stripslashes sull'input che stai ricevendo come $_GET e $_POST , prima di iniziare a usarlo.

Nota:è un consiglio che viene fornito nella pagina di manuale di mysql_real_escape_string (citando) :