Formulaire de recherche en php [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
jeudi 7 mars 2013
Statut
Membre
Dernière intervention
14 octobre 2013
-
Messages postés
19
Date d'inscription
jeudi 7 mars 2013
Statut
Membre
Dernière intervention
14 octobre 2013
-
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



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
Messages postés
19
Date d'inscription
jeudi 7 mars 2013
Statut
Membre
Dernière intervention
14 octobre 2013

merci oui je vois mais lorsque je met des guillemets "requête " j'ai ce message d'erreur : Warning: Division by zero in.......................................................................
Utilisateur anonyme
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";
Messages postés
19
Date d'inscription
jeudi 7 mars 2013
Statut
Membre
Dernière intervention
14 octobre 2013

Merci le père ça marche je suis plus ou moins débutante en php