Formulaire de recherche en php
Résolu
Bonjour, je veux créer un formulaire de recherche qui permet aux visiteurs de pouvoir rechercher dans ma bases de données mysql suivant des critères.suis bloquée au niveau de cette requête : $query = 'SELECT * FROM contact
WHERE prenom LIKE "%$_POST["texte"]%"
OR nom LIKE "%$_POST["texte"]%"
OR email LIKE "%$_POST["texte"]%"
OR statut LIKE "%$_POST["texte"]%"
GROUP BY prenom';
$result = mysql_query($query) or die ("Exécution de la requête impossible");
la syntaxe est-elle exacte?
Merci
WHERE prenom LIKE "%$_POST["texte"]%"
OR nom LIKE "%$_POST["texte"]%"
OR email LIKE "%$_POST["texte"]%"
OR statut LIKE "%$_POST["texte"]%"
GROUP BY prenom';
$result = mysql_query($query) or die ("Exécution de la requête impossible");
la syntaxe est-elle exacte?
Merci
1 réponse
-
Bonjour
Non.
Relis le chapitre de PHP sur l'écriture des chaînes entre guillemets somples ou entre guillemets doubles.
https://www.php.net/manual/fr/language.types.string.php-
-
Tu as sans doute mal lu...
Si tu te contentes de mettre des " au début et à la fin de la requête sans rien changer d'autre, ta chaîne s'arrête au " juste après le LIKE et derrière il y a un % qui provoque une division.
Il faut donc utiliser des apostrophes simples à l'intérieur de la chaîne, et de plus ne pas en mettre autour des indices dans un tableau ($_POST ici) utilisé dans la chaîne entre " :
$query = "SELECT * FROM contact
WHERE prenom LIKE '%$_POST[texte]%'
OR nom LIKE '%$_POST[texte]%'
OR email LIKE '%$_POST[texte]%'
OR statut LIKE '%$_POST[texte]%'
GROUP BY prenom"; -
-