2010-08-01 11 views
7

Sto facendo qualche selezione con oggetto PDO, ma dopo il risultato fetch, ho ottenuto una stringa con escape ' a \', come posso disabilitare?PHP - PDO restituisce la barra di escape, come rimuoverla?

+0

semplicemente non aggiungerlo –

+0

'magic_quotes' dove disabilitato da PHP 5.4 in poi. Quindi fortunatamente questo non sarà più un problema. – jbx

risposta

8

Sembra che potresti avere qualche problema con Magic Quotes. Puoi disabilitarli seguendo the instructions here. Si consiglia vivamente di disabilitarli invece di eluderli usando una funzione per rimuovere solo le barre.

2

Sembra che tu abbia magic quotes acceso.

si dovrebbe effettivamente spegnere i magic quotes da php.ini.

o dall'interno di script, è in grado di gestire in questo modo:

if (get_magic_quotes_gpc()) 
{ 
    $str = stripslashes($str); 
} 

Ora è possibile utilizzare la variabile $str normalmente.

+0

Probabilmente è meglio controllare se magic_quotes è effettivamente abilitato prima di rimuovere le barre, altrimenti rimuoverai le barre che dovrebbero essere lasciate intatte. – tdammers

+0

@tdammers: ho aggiornato la risposta con questo prima di questo commento, grazie comunque :) – Sarfraz

1

Stavo lavorando su un hosting condiviso che non ho avuto accesso a php.ini - ini_set() non funziona anche. Questo frammento funzionato come un fascino: [source]

// since PHP 5 
if (get_magic_quotes_gpc()) { 
    function stripslashes_gpc(&$value) 
    { 
     $value = stripslashes($value); 
    } 
    array_walk_recursive($_GET, 'stripslashes_gpc'); 
    array_walk_recursive($_POST, 'stripslashes_gpc'); 
    array_walk_recursive($_COOKIE, 'stripslashes_gpc'); 
    array_walk_recursive($_REQUEST, 'stripslashes_gpc'); 
}