Probleme script php

Résolu
Bonjour,

<?php

$db=mysql_connect("localhost", "ADMIN", "admin");
mysql_select_db("flux_rss",$db);

$recherche=$_POST["recherche"];
$rubrique=$_POST["rubrique"];
$sql = ("SELECT idArticle, rubrique, dateArticle FROM infosexpert WHERE rubrique ='".$rubrique."'AND texteParagraphe LIKE '"%$recherche%"' ");
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$res = mysql_fetch_array($req);

while($data = mysql_fetch_array($req))
?>
{
<?php
echo $data["idArticle"];
echo $data["dateArticle"];
?>
}
<?
mysql_close();
?>

mon projet a moi et de realiser un moteur de recherche pour mon entreprise de stage, le formulaire retourne bien les variables, mais le message qui s'affiche au moment de traiter la recherche et le suivant :

Erreur SQL !
SELECT idArticle, rubrique, dateArticle FROM infosexpert WHERE rubrique ='social'
Erreur de syntaxe près de ''social' à la ligne 1

Quelqu'un pourrait-il me reseigner svp ?
Merci

3 réponses

  1. Bonjour,

    Ajoute un point virgule a la fin de ta requéte
    1. merci de ta réponse mais maintenant sa me met cette erreur la :

      Champ 'juridique' inconnu dans where clause

      Pourtant le champ juridique existe bien dans la base de données
    2. @Adrix08Re,

      Je ne comprend pas pourquoi il te parle d'un champs juridique.. Ta requéte c'est bien : SELECT idArticle, rubrique, dateArticle FROM infosexpert WHERE rubrique ='social' ; ?
    3. @guilom076oui mais en fait je t'explique le principe j'ai un formulaire ou je rentre un mot et une rubrique dans les rubrique ta 3 choix , social, juridique,et fiscal et dans nimporte quel choix sa me di que le champ et inconnu dans where clause.
    4. @Adrix08Re,

      Rajoute un echo 'ta requete' pour voir quel requéte sql il envoi a ta base de donnée.
    5. @guilom076elle ne renvoi rien, crois tu que je devrai mettre les valeur juridique, social et fiscal en php dans mon formulaire pour quelle viennent directement de la base de données ?
  2. Bonjour.

    Mets un echo $sql; juste après l'affectation, ça devrait te donner des pistes...

    Sinon, il manque un espace avant la AND, et ton %$recherche me semble mal entouré (au niveau des quotes etc.) :

    $sql = ("SELECT idArticle, rubrique, dateArticle FROM infosexpert WHERE rubrique ='".$rubrique."' AND texteParagraphe LIKE '%".$recherche."%' ");

    Et (aucun rapport avec ton problème) n'oublie pas de bien tester (et protéger) $recherche (sur la taille, entre autres). Essaye aussi de gérer les différences de casse (majuscule/minuscule)
    1. slt, STP tu peux m'aider??? je ne sais pas où j'écris le script php!!!!!!
      j