Échapper aux caractères spéciaux dans les requêtes MySQL
Lors de la création de requêtes MySQL incluant des caractères spéciaux, il est crucial de les échapper pour éviter les erreurs de syntaxe. Cela devient encore plus important lorsqu'il s'agit de saisies utilisateur, car les caractères spéciaux peuvent être exploités à des fins malveillantes.
Considérez l'exemple suivant :
select * from tablename where fields like "%string "hi" %";
Dans cette requête, les guillemets doubles entourant le La chaîne "hi" est interprétée comme faisant partie de la chaîne elle-même, provoquant une erreur de syntaxe.
Échappement Exigences
La séquence d'échappement spécifique requise dépend du caractère spécial utilisé. MySQL reconnaît les séquences d'échappement suivantes :
Solution
Pour échapper aux guillemets doubles dans l'exemple de requête, la requête doit être écrite comme suit :
select * from tablename where fields like '%string \"hi\" %';
Alternativement, des guillemets simples peuvent être utilisés comme délimiteurs de chaîne :
select * from tablename where fields like '%string ''hi'' %';
Cette approche simplifie l'échappement en garantissant que les guillemets simples dans la chaîne n'ont pas besoin d'être échappés.
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!