Recherche PHP Mysql [problème de requête]
Aldebaran
-
Jodu Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Jodu Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je précise tout de suite que je suis débutante en php/mysql. J'ai créé une BDD permettant de gérer des archives depuis une interface HTML. J'ai voulu créer un moteur de recherche simple pour commencer, mais j'ai quelques soucis dans la formulation de ma requête.
J'ai donc créé mon formulaire de recherche avec le code PHP qui va avec, mais quand je lance la recherche je reçois systématiquement un message d'erreur :
J'en déduis que ma requête est mal formulée mais je n'arrive pas à trouver où. J'ai également cherché sur les sites tutoriels de PHP (Site du Zéro, noshade, phpsources) mais sans succès. Je dois effectuer ma rechcerche dans plusieurs champs de la base. Voici le fichier php :
J'ai aussi une question peut-être un peu bête : faut-il obligatoirement mentionner le champ ID dans la requête de recherche?
Voilà, merci d'avance pour votre aide et vos réponses!
Je précise tout de suite que je suis débutante en php/mysql. J'ai créé une BDD permettant de gérer des archives depuis une interface HTML. J'ai voulu créer un moteur de recherche simple pour commencer, mais j'ai quelques soucis dans la formulation de ma requête.
J'ai donc créé mon formulaire de recherche avec le code PHP qui va avec, mais quand je lance la recherche je reçois systématiquement un message d'erreur :
Erreur de syntaxe pr�s de '%cholestérol% OR journal LIKE %cholestérol% OR doc LIKE %chole' � la ligne 2
J'en déduis que ma requête est mal formulée mais je n'arrive pas à trouver où. J'ai également cherché sur les sites tutoriels de PHP (Site du Zéro, noshade, phpsources) mais sans succès. Je dois effectuer ma rechcerche dans plusieurs champs de la base. Voici le fichier php :
<?php // Récupère la variable $recherche = isset($_POST['recherche']) ? $_POST['recherche'] : ''; // la requete mysql $sql = mysql_query( "SELECT id, , doc, titre, auteur, date, lieu,, editeur, notes, mot1, mot2, mot3, mot4, mot5, mot6, mot7, mot8, cote FROM archives WHERE id LIKE %$recherche%" . " OR doc LIKE %$recherche%" . " OR titre LIKE %$recherche%" . " OR auteur LIKE %$recherche%" . " OR date LIKE %$recherche%" . " OR lieu LIKE %$recherche%" . " OR editeur LIKE %$recherche%" . " OR notes LIKE %$recherche%" . " OR mot1 LIKE %$recherche%" . " OR mot2 LIKE %$recherche%" . " OR mot3 LIKE %$recherche%" . " OR mot4 LIKE %$recherche%" . " OR mot5 LIKE %$recherche%" . " OR mot6 LIKE %$recherche%" . " OR mot7 LIKE %$recherche%" . " OR mot8 LIKE %$recherche%" . " OR cote LIKE %$recherche%") or die (mysql_error()); // affichage du résultat while(list($id, $journal, $doc, $titre, $auteur, $date, $lieu, $numero, $editeur, $notes, $mot1, $mot2, $mot3, $mot4, $mot5, $mot6, $mot7, $mot8, $cote)=mysql_fetch_array($sql)){ echo 'Resultat de la recherche: '.$id.', '.$journal.', '.$doc.', '.$titre.', '.$auteur.', '.$date.', '.$lieu.', '.$numero.', '.$editeur.', '.$notes.', '.mot1.', '.$mot2.', '.$mot3.', '.$mot4.', '.$mot5.', '.$mot6.', '.$mot7.', '.$mot8.', '.$cote.' <br />'; } ?>
J'ai aussi une question peut-être un peu bête : faut-il obligatoirement mentionner le champ ID dans la requête de recherche?
Voilà, merci d'avance pour votre aide et vos réponses!
A voir également:
- Recherche PHP Mysql [problème de requête]
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche photo - Guide
- Mysql community server - Télécharger - Bases de données
- Probleme recherche chaine tv tcl - Forum TV & Vidéo
- Problème recherche de chaine tv thomson - Forum TNT / Satellite / Réception