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

1 réponse

  1. 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
    1. merci oui je vois mais lorsque je met des guillemets "requête " j'ai ce message d'erreur : Warning: Division by zero in.......................................................................
    2. 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";
    3. Merci le père ça marche je suis plus ou moins débutante en php