Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

aggiungere uno slash davanti ad apostrofo

180 views
Skip to first unread message

Steel

unread,
Jun 11, 2010, 1:24:10 PM6/11/10
to
Ciao a tutti

siccome faccio uso spesso di parole apostrofate normalmente prima di salvare
sul db il valore di un campo eseguo questo codice php

if(get_magic_quotes_gpc()
{
$var=stripslashes($var_con_apostrofo)
;}
$var_con_slash_davanti_ad_apostrofo=mysql_real_escape_string($var);

mi sembrava che andasse tutto bene ma sul db lo slash prima dell'apostrofo
non c'è

Sbaglio qualche cosa?

Grazie

PS
la tabella usa UTF-8


Alessandro Pellizzari

unread,
Jun 11, 2010, 1:38:35 PM6/11/10
to
Il Fri, 11 Jun 2010 17:24:10 +0000, Steel ha scritto:

> mi sembrava che andasse tutto bene ma sul db lo slash prima
> dell'apostrofo non c'è
>
> Sbaglio qualche cosa?

No, e` normale che non vedi lo slash quando estrai i dati. Lo slash serve
solo a fare l'escape dell'apostrofo, che e` un carattere speciale di SQL
e non del database.

Bye.

Steel

unread,
Jun 11, 2010, 1:46:40 PM6/11/10
to

"Alessandro Pellizzari" >

> No, e` normale che non vedi lo slash quando estrai i dati. Lo slash serve
> solo a fare l'escape dell'apostrofo, che e` un carattere speciale di SQL
> e non del database.
>
> Bye.
>

Si ma io non lo vedo neanche con PHPMYADMIN
scorrendo la tabella a mano


Alessandro Pellizzari

unread,
Jun 11, 2010, 1:51:57 PM6/11/10
to
Il Fri, 11 Jun 2010 17:46:40 +0000, Steel ha scritto:

> "Alessandro Pellizzari" >
>> No, e` normale che non vedi lo slash quando estrai i dati. Lo slash
>> serve solo a fare l'escape dell'apostrofo, che e` un carattere speciale
>> di SQL e non del database.

> Si ma io non lo vedo neanche con PHPMYADMIN


> scorrendo la tabella a mano

Anche phpmyadmin estrae i dati.

Nel database il backslash non viene salvato. Non c'e`.

Ha esattamente la stessa funzione che in PHP.
Quando scrivi

$a = 'Arriva l\'aereo';

non ti aspetti che facendo print $a ti scriva

Arriva l\'aereo

ma

Arriva l'aereo

Perche` appunto lo slash non e` dentro la stringa, ma serve solo a non
fare confusione al parser del linguaggio.

Stessa cosa per SQL.

Bye.

Luigi Rosa

unread,
Jun 11, 2010, 2:48:43 PM6/11/10
to
Steel said the following on 11/06/10 19:24:

> mi sembrava che andasse tutto bene ma sul db lo slash prima dell'apostrofo
> non c'è

Non ci deve essere nel db

La chiamata a mysql_real_escape_string() serve proprio ad "escapizzare" i
caratteri utilizzati da mysql come delimitatore.


Ciao,
luigi

--
/
+--[Luigi Rosa]--
\

The primary function of the design engineer is to make things
difficult for the fabricator and impossible for the serviceman.

0 new messages