-
Apostrofo in mysql
Come faccio ad inserire gli apostrofi nel MYSQL ???
Se scrivo così mi dà errore
Codice PHP:
SELECT comune FROM localita WHERE (regione='Valle D'Aosta')AND(provincia='Aosta') GROUP BY comune ORDER BY comune ASC"
Ma mi dà errore anche se scrivo così
Codice PHP:
SELECT comune FROM localita WHERE (regione='Valle D\'Aosta')AND(provincia='Aosta') GROUP BY comune ORDER BY comune ASC"
Come si può risolvere???
-
Prova a specificare le stringhe tramite i doppi apici, cosi':
Codice PHP:
SELECT comune FROM localita WHERE (regione="Valle D'Aosta")AND(provincia="Aosta") GROUP BY comune ORDER BY comune ASC
se poi quella riga (come immagino) dovesse finire in una stringa PHP (identificata da apici ')non dovresti avere problemi a "criptare" l'apostrofo con \' (backslash-apice).
Stammi bene...
-
Non sono sicuro ma penso di aver "dedotto" qual è il problema:
Il particolare che hai dimenticato di indicare è che oltre MySQL in sé stai cercando di specificare una query in PHP. Giusto?
Quindi -se è così- hai un "DOPPIO strato di stringhe" da superare il primo PHP e poi MySQL, quindi senza tante chiacchiere devi indicarla così:
Codice PHP:
$query = "SELECT comune FROM localita WHERE (regione='Valle D\\'Aosta') AND (provincia='Aosta') GROUP BY comune ORDER BY comune ASC";
Nota bene il DOPPIO backslash \\
-
il mio problema era appunto quello descritto da HERACLEUM. Purtroppo però mi sono impellagato in altri problemi. Litigo io e gli apici. Esiste una soluzione più rapida??? Dato che io in realta gestisco delle variabili con gli apici e quindi dovrei modificare quella variabile in modo che non ci siano caratteri strani per l'inserimento nel MYSQL
-
ah certo, infatti immaginavo che avresti usato variabili...
con le variabili fai:
Codice PHP:
$query = "SELECT comune FROM localita WHERE (regione='". addslashes($variabile) ."') AND (provincia='Aosta') GROUP BY comune ORDER BY comune ASC";
-
Oppure usa mysql_escape_string($testo);
Ciaooo!!!!!
-
vero! (ecco come si chiamava eheheheh)
non mi ricordo in cosa differiscono le due funzioni, non penso tanto..
MA ad ogni modo, sì, è meglio usare:
mysql_escape_string($variabile)
al posto di addslashes($variabile)
come dice giustamente debug, anche perché è una funzione apposita per mysql e quindi è preferibile e vai sul sicuro!
ciao
-
grazie mille...ora va tutto alla perfezione :=D: