[Php-it] pg_escape_string

Matteo Beccati php at beccati.com
Wed Mar 15 09:00:35 CET 2006


Ciao,

>> Una domanda che potrà sembrare idiota:
>> da quando pg_escape_string escapa i singoli apici raddoppiandoli?
>> Io ho sempre (e sottolineo sempre) usate pg_escape_string per inserire 
>> i dati nel db e stripslashes per metterli dove più mi aggrada e non ho 
>> mai notato raddoppi di apici...
>> Ho php 4.4
> 
> Infatti la domanda *é* idiota... se mettessi le query nel giusto ordine 
> magari funzionerebbe :-(

No, secondo me la domanda non è idiota. pg_escape_string è diversa da 
addslashes (e l'equivalente sistema delle magic_quotes) ed in effetti 
dovrebbe utilizzare il metodo di escaping standard SQL che è proprio 
quello di raddoppiare gli apici. Tant'è che l'utilizzo del backslash in 
PostgreSQL è deprecato e potrebbe essere rimosso in futuro (lasciando 
comunque la possibilità di riattivarlo). In sostanza chi volesse la 
garanzia di futura compatibilità con l'escaping tramite backslash 
dovrebbe usare la sintassi E'...':

http://www.postgresql.org/docs/8.1/static/sql-syntax.html#SQL-SYNTAX-STRINGS

Detto ciò, non capisco esattamente cosa c'entri stripslashes con 
pg_escape_string, dal momento che rimuove un altro tipo di encoding. 
Probabilmente ti riferivi al fatto che è indispensabile per il eliminare 
i backslash aggiunti in automatico nel caso sia attivata la direttiva 
magic_quotes_gpc.


Ciao ciao
--
Matteo Beccati
http://phpadsnew.com
http://phppgads.com


More information about the Php-it mailing list