Il db che mi interessa è mysql.
Sto chiedendo tutte queste info perchè sto ampliando la classe del tuo articolo su freephp (smartform).
Quindi vorrei creare un metodo che prepari la stringa all'inserimento nel db.
Di conseguenza i caratteri interessati sono
'
"
;
,
_
Ora, io ho preprato questa funzione
Codice PHP:
function _preparingToDb($var)
{
// Controllo se magic_quotes_gpc è attivato
if (get_magic_quotes_gpc() == 0) // Non è attivata
{
// Devo fare l'escape di tutti i caratteri
$var = str_replace("'", "\'", $var);
$var = str_replace('"', '\"', $var);
$var = str_replace("\ \", "\ \'", $var);
$var = str_replace(",", "\,", $var);
$var = str_replace(";", "\;", $var);
$var = str_replace("_", "\_", $var);
}
elseif (get_magic_quotes_gpc() == 1) // E' attivata
{
$var = str_replace(",", "\,", $var);
$var = str_replace(";", "\;", $var);
$var = str_replace("_", "\_", $var);
}
return $var;
}
Le domande sono:
1) Devo inserire qualche altro carattere? O ne devo eliminare quacuno?
2) Il manuale parla di un valore "NUL" ma non ho capito bene come identificarlo all'interno di una stringa
3) Il manuale parla anche di una funzione, magic_quotes_sybase ma non ho ben capito la sua funzione nè se ne devo tener conto.
Potreste chiarirmi un po' la faccenda?
Grazie!