[Php-it] pg_escape_string

Matteo Beccati php at beccati.com
Wed Mar 15 09:48:12 CET 2006


Ciao,

> Se aggiungo le \ per fare l'escape degli apici e altri caratteri poi li 
> dovrò pur togliere, no??
> Se pg_escape_string aggiunge la \, poi con stripslashes la tolgo.
> Per togliere invece i '' come faccio?

Non devi. E' concettualmente sbagliato dover rimuovere l'escaping 
aggiunto per inserire una stringa nel db, in quanto il db stesso te la 
restituisce senza escaping. Cmq, a scanso di equivoci:

<?php
$str = "Qui c'è un apice";
echo addslashes($str)."\n";
echo pg_escape_string($str)."\n";
?>

Qui c\'è un apice
Qui c''è un apice


Se magic_quotes_gpc è attivato (come è di default), una variabile 
ricevuta ad es. tramite POST sarà escapata usando la prima forma. Sarà 
necessario passare stripslashes sia per la visualizzazione che per 
l'inserimento su db se poi alla stessa applichi pg_escape_string. Ho la 
vaga sensazione che tu abbia saltato questo passaggio ed che ti ritrovi 
nel db alcuni valori erronemanete escapati con "\".


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


More information about the Php-it mailing list