Caractères spéciaux et PDO
Bonjour à tous,
Je suis en train de passer tout doucement à PDO, je ne sais pas trop si on peut dire ça comme ça, mais je suppose que vous allez comprendre ce que je veux dire.
Je récupère une chaîne de caractère qui a été écrite par un utilisateur lambda qui a donc la possibilité d'y mettre absolument n'importe quoi comme caractère, issu de n'importe quelle touche du clavier.
Le problème, c'est que quand je veux mettre cette "ligne récupérée" dans ma base de données, ça génére une jolie erreur (j'ai juste enlevé le chemin vers mon fichier) :
Citation:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'agit plus pr?cisement de Onnezies-Hoonelles )' WHERE n_indi='18I' and n_eve='31' at line 1 in XXXXX on line 312
Les lignes de codes qui correspondent sont les suivantes:
Code:
1 2
| $req = "UPDATE evenements SET note = '$evenement->note' WHERE n_indi='$individu->ref' and n_eve='$nb_eve'";
$resultat = $pdo->exec($req); |
Même si je n'étais pas vraiment convaincu, j'ai tout de même essayé htmlspecialchars() et htmlentities() mais sans succès.
Il me faudrait une fonction qui dise au serveur "prends tout ce qu'il y a entre les quotes qui sont aux extrémités", mais existe-t-elle ?
Merci et à bientôt,
Alexis.