La documentation de MySQL indique qu'il devrait s'agir de \'
. Cependant, scite et mysql montrent que ''
fonctionne. J'ai vu ça et ça marche. Que devrais-je faire?
Réponses
Trop de publicités?La documentation de MySQL que vous citez dit en réalité un peu plus que ce que vous mentionnez. Elle dit aussi:
Un "
'
" à l'intérieur d'une chaîne de cité "'
" peut être écrit "''
".
(Aussi, vous vous êtes liés à l' MySQL version 5.0 du Tableau 8.1. Caractère spécial des Séquences d'Échappement, et la version actuelle est de 5,6 - mais le Tableau 8.1. Le Caractère spécial de Séquences d'Échappement à l'air assez similaire).
Je pense que la Postgres note sur l' backslash_quote (string)
paramètre est instructif:
Ce contrôle si un devis marque peut être représenté par
\'
dans une chaîne littérale. Le préféré, SQL standard de façon à représenter un devis marque est en doublant (''
) mais PostgreSQL, historiquement, s'est également accepté\'
. Cependant, l'utilisation de\'
crée des risques de sécurité...
Qui me dit que l'utilisation d'un doublé unique caractère de guillemet est l'amélioration d'ensemble et à long terme de choix que d'utiliser une barre oblique inverse pour échapper à la simple citation.
Maintenant, si vous aussi vous souhaitez ajouter un choix de langue, choix de la base de données SQL et de sa non-standard bizarreries, et le choix de la requête cadre de l'équation, alors vous pourriez vous retrouver avec un choix différent. Vous ne donnez pas beaucoup d'informations à propos de vos contraintes.
Utilisez les instructions préparées MySQLi . Le meilleur moyen de le faire sans aucun travail supplémentaire.
Lire les instructions préparées par MySQLi