Maison >développement back-end >Problème PHP >Comment échapper aux caractères spéciaux lorsque PHP accède aux données MySQL
Comment échapper aux caractères spéciaux lorsque PHP accède aux données mysql : Vous pouvez utiliser la fonction de la bibliothèque mysql pour échapper, le code est [mysql_escape_string(string $unescaped_string): string]. Vous pouvez également utiliser la fonction d'échappement addlashes pour vous échapper.
[Recommandations d'apprentissage associées : programmation php (vidéo)]
Comment échapper les caractères spéciaux en PHP lors de l'accès aux données MySQL :
Méthode 1 : Utiliser la fonction de la bibliothèque MySQL
Version PHP avant 7.0 :
mysql_escape_string ( string $unescaped_string ) : string
Version PHP après 7.0 :
mysqli_real_escape_string ( mysqli $link , string $escapestr ) : string
Méthode 2 : Utiliser la fonction d'échappement addlashes()
Convient aux versions PHP4, PHP5, PHP7
addslashes ( string $str ) : string
Avant PHP 5.4, la commande PHP magic_quotes_gpc était activée par défaut. En fait, toutes les données GET, POST et COOKIE sont utilisées par addlashes(). N'utilisez pas addlashes() sur les chaînes qui ont été échappées par magic_quotes_gpc, car cela entraînerait un double échappement.
Vous pouvez utiliser la fonction get_magic_quotes_gpc()
pour détecter cette situation. Autrement dit, lorsque get_magic_quotes_gpc()
renvoie false, utilisez addslashes()
pour échapper aux caractères spéciaux. Un exemple est le suivant :
function myaddslashes($data) { if(false == get_magic_quotes_gpc()) { return addslashes($data);//未启用魔术引用时,转义特殊字符 } return $data; }
Si vous souhaitez en savoir plus sur la programmation, faites attention à la colonne formation php !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!