stringa con apici contenuta nella query

Ciao a tutti.

Quando inserisco una stringa contenente apici all'interno di una query, ovviamente la query viene scartata perché questi caratteri vanno in conflitto con quelli che delineano l'inizio e la fine del valore da inserire.

Ho provato con addslashes (es. $stringa=addslashes($stringa)), ma niente, non funziona.

Quindi ho utilizzato mysql_escape_string (es. $stringa=mysql_escape_string($stringa)), nada....

Ho provato anche a sostituire ' con /' con relativo output di controllo, niente.....

Ma non mi sono arreso qui: ho provato anche ad inserire direttamente nella query /' come valore, sia dalla pagina php che dal query browser....NIENTE!

Chiedo aiuto a voi con una certa urgenza, anche se non siete dovuti a rispondermi all'istante.

Grazie in anticipo

ps:  magic_quotes_gpc è settato a on.

inviato 6 anni fa
Schiappa
X 0 X

Puoi fornire un esempio di query?

risposto 6 anni fa
Mario Santagiuliana
X 0 X

$query="INSERT INTO 'xxx' ( 'campo1' , 'campo2' , 'campo3' , 'campo4' , 'campo5' , 'campo6' , 'campo7' , 'campo8', 'campo9' ) VALUES ( '$r[1]' , '$r[2]', '$r[3]', '$r[4]', '$r[5]', '$r[6]', '$r[7]' , '$r[8]' , '$r[9]')";

dove, ad esempio

$r[1]=$_POST['descrizione'];

echo $r[1];  //output: e'

risposto 6 anni fa
Schiappa
X 0 X

Elimina i singoli apici per le variabili php passate.

Riprova l'esecuzione della query.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Già fatto e funziona...

risposto 6 anni fa
Schiappa
X 0 X

Bene, se funziona dunque il problema è risolto.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Scusa....avevo capito male....

Ho provato a fare come dici te, ma non funziona

Penso che gli apici li metta comunque in automatico quando esegue la query.....no?

Mi basterebbe capire che carattere vuole sql davanti all'apice per poterlo interpretare bene....lo slash sembra non gli piaccia...

risposto 6 anni fa
Schiappa
X 0 X
Penso che gli apici li metta comunque in automatico quando esegue la query.....no?

No.

1) Che errori restituisce mysql?

2) Le variabili cosa sono?

3) Al posto dell'apice, usa l'apice inverso `

Ciao

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Prova così:

$query='INSERT INTO xxx ( "campo1", "campo2", "campo3", "campo4", "campo5", "campo6", "campo7", "campo8", "campo9" ) VALUES ( "'.$r[1].'", "'.$r[2].'", "'.$r[3].'", "'.$r[4].'", "'.$r[5].'", "'.$r[6].'", "'.$r[7].'" , "'.$r[8].'", "'.$r[9].'")';

Edit: a proposito, ciao a tutti!  :)

risposto 6 anni fa
tigrone
modificato 6 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda