Bonjour,
Je viens de m'inscrire ayant un problème PHP -Mysql, que je vous soumets :
- J'ai un site avec une base Mysql, dont les enregistrements contiennent qqfois les caractères ">" ou "<" ;
- je fais une recherche par une page PHP, vers une autre page PHP avec un argument passé dans l'URL ;
ex. page_1.php appelle par lien html : page_2.php?arg=argument<argument2
cet argument provient d'une zône de ma base mysql qui contient : "texte<texte2" ( trouvé par un " select distinct ... ")
- voici une partie du script de page_2.php
la requète est censée retourner tous les enregistrements, dont la zône en question contient la valeur '"texte<texte2" ;
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=dbase', 'root', '', $pdo_options);
$reponse = $bdd->query('SELECT * from `table` WHERE zone='"texte<texte2" ORDER BY zone ;'); => ne retourne aucun résultat
- si j'envoie la même requête en copier/coller dans phpmyadmin, SQL, celà fonctionne, retour des enregistrements correct ;
- la même démarche sans que la zône contienne "<" ou ">" fonctionne
j'ai bien essayé de coder l'argument par htmlspecialchars(), qui envoie l'argument avec le caractère "<" transformé en "<" :
texte<texte2
mais çà ne marche pas
quelqu'un aurait'il dèjà vu ce problème ?
merci d'avance