J'essaie d'utiliser la nouvelle extension PHP mysqli. J'ai une fonction (safe()) qui utilise récursivement mysql_real_escape_string pour sécuriser les chaînes. Comment puis-je utiliser ma connexion mysqli à l'intérieur de cette fonction pour appeler la fonction mysqli :: escape_string()?Comment utiliser la méthode d'une classe dans une fonction (PHP)?
Exemple:
$db = new mysqli($host,$user,$password,$database_name);
function safe ($data) {
if(!is_array($data)) {
if(!get_magic_quotes_gpc()) {
$data = **mysqli::escape_string($data)**
return $data;
}
} else {
return array_map('safe',$data);
}
}
Où je mysqli :: escape_string() intérieur sûr() comment puis-je appeler? En dehors d'une fonction ce serait $ db-> escape_string() mais je ne trouve pas le moyen de l'appeler insde. J'ai essayé de passer $ db à la fonction, en faisant $ db global etc. L'alternative est d'utiliser la procédure mysqli_escape_string() mais cela nécessite que la ressource mysqli link lui soit explicitement transmise, mais je ne trouve pas de moyen de accéder à cela.
Vous allez marquer la bonne réponse? – SeanJA