Modérateur PHPfrance |
10684 Messages
21 janv. 2008, 11:06
En sql, on délimite une chaine avec des apostrophes.
Première erreur dans ton code, tu ouvres bien une apostrophe en début de chaine, mais tu ne la referme pas
Second problème, c'est que ta chaine contient déjà une apostrophe. Du coup sql va l'interpréter comme s'il s'agissait de la fin de la chaine et va se retrouver avec un "aplat" dont il ne sait que faire. Pour éviter cela, il te faut protéger les apostrophes de ta chaine. Pour MySQL, il faut y ajouter un antislash : 'Pas d\'aplat'
PHP propose des fonctions afin de protéger tes chaines : mysql_real_escape_string()
Enfin, une petite remarqur, si tu recherche la chaine éxacte, évite d'utiliser LIKE et préfère un simple "="

(voire la FAQ sur les bonnes pratiques SQL

)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...