Erreur de syntaxe php sql

Résolu
ideal23 Messages postés 505 Statut Membre -  
ideal23 Messages postés 505 Statut Membre -
Bonjour,
j'ai une erreur syntaxe avec cette requête:
SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']."  AND YEAR(date_saisie)=". $_GET['y'];

Avez-vous une idée
Merci

23 réponses

  • 1
  • 2
  1. le père
     
    Bonjour

    Enlève la parenthèse entre WHERE et MONTH : elle est inutile et tu oublies de la refermer.
    1
  2. siniko44 Messages postés 187 Statut Membre 17
     
    Tu pourrais mettre ta requête Php SQL entièrement ?
    0
  3. ideal23 Messages postés 505 Statut Membre 28
     
    j'ai le message : Erreur de syntaxe près de ". $_GET['y'];
    je ne vois pas ce que je peux mettre d'autre , la requête est entière
    0
  4. DoulyCreations Messages postés 265 Statut Membre 19
     
    Salut,

    Essaye avec :
    $requete = "SELECT * FROM stripbd WHERE ( MONTH(date_saisie)='".$_GET['m']."'  AND YEAR(date_saisie)='". $_GET['y']."'";

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ideal23 Messages postés 505 Statut Membre 28
     
    merci de vos réponses
    malheureusement j'ai toujours la même erreur
    0
  7. ideal23 Messages postés 505 Statut Membre 28
     
    toujours la même erreur
    0
  8. le père
     
    Peux-tu nous donner les quelques lignes de script qui précèdent, jusqu'à celle là incluse ? ET fait un copier-coller du message exact ?
    0
  9. ideal23 Messages postés 505 Statut Membre 28
     
    voilà le projet complet
    j'ai extrait sur une première page la totalité des enregistrements classés par mois.
    J'ai une base avec les données suivantes succinctes :
    Id date saisie titre
    1 2011-04 01 chochotte
    2 2011-04-04 tentative
    3 2011-03-11 bath
    Sur une page stripbd.php j'ai crée une requête sql
    SELECT DISTINCT MONTH(date_saisie) AS mois, YEAR(date_saisie) AS annee
    FROM stripbd
    GROUP BY mois, annee
    

    Je veux à ce niveau avec group by ceci: le mois 4 groupé
    Mois année voir
    3 2011 voir
    4 2011 voir
    Sur le lien voir j'ai créé un lien suivant pour afficher les enregistrements de chaque mois sur une autre page:
    essaibd.php?m=<?php echo $row_recordset1['mois']; ?>&y=<?php echo $row_recordset1['annee']; ?>

    Sur cette seconde page , J'ai un problème pour extraire dans ma requête sql
    tous les enregistrements identiques portant sur le mois 04, il ne faut plus qu'ils soient groupés.
    SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']."  AND YEAR(date_saisie)=". $_GET['y'];

    cette dernière requête ne fonctionne pas: Erreur de syntaxe près de ". $_GET['y'];
    Merci de s'intéresser à mon problème
    0
  10. Eastchild Messages postés 337 Statut Membre 31
     
    Bonjour,

    Tu as toujours une parenthèse ouverte qui ne se ferme jamais et tu as un espace inutile entre YEAR(date_saisie)=". et $_GET['y'];

    Pour être correct, ta requête doit ressembler à ça :
    SELECT * FROM stripbd WHERE MONTH(date_saisie)=".$_GET['m']."  AND YEAR(date_saisie)=".$_GET['y'];

    0
  11. ideal23 Messages postés 505 Statut Membre 28
     
    Parse error: parse error in C:\Program Files\EasyPHP5.3.0\www\lucie1\essaibd.php on line 38 dans le navigateur

    et Erreur de syntaxe près de ". $_GET['y'];
    avec dreamweaver
    0
    1. Eastchild Messages postés 337 Statut Membre 31
       
      Juste une question, est-ce que tu appelles ta requête SQL dans une variable ?

      Edit : Je viens de voir que tu n'as pas retirer l'espace entre le . et ton $_GET
      0
  12. le père
     
    Je répète : Peux-tu nous donner les quelques lignes de script qui précèdent, jusqu'à celle là incluse ? Et quelle est la ligne 38 ?
    Ça ne m'étonnerait pas que l'erreur vienne d'avant.
    0
  13. ideal23 Messages postés 505 Statut Membre 28
     
    mysql_select_db($database_cnx, $cnx);
    $query_Recordset1 = "SELECT * FROM stripbd WHERE MONTH(date_saisie)=".$_GET['m']."  AND YEAR(date_saisie)=".$_GET['y'];";"
    $Recordset1 = mysql_query($query_Recordset1, $cnx) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    
    0
  14. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Et comme ça, c'est pas plus simple?

    $xdate = $_GET['y']."-".$_GET['m'];
    $sql = "SELECT * FROM stripbd WHERE date_saisie Like '$xdate%'";


    A+
    0
  15. le père
     
    On verra la requête plus tard, pour l'instant elle n'est même pas soumise à mysql à cause de la parse error.
    Tu as un ";" qui traîne à la fin de ta requête, mais il doit y avoir autre chose, car il produit un message d'erreur différent de celui que tu as annoncé.
    Et pourquoi ne veux-tu pas répondre à toutes les questions ? Si on ne sait pas quelle est la ligne 38 (celle du message d'erreur, ça fausse l'analyse.
    0
  16. ideal23 Messages postés 505 Statut Membre 28
     
    mysql_select_db($database_cnx, $cnx);
    $query_Recordset1 = "SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']."  AND YEAR(date_saisie)=". $_GET['y']; ";"
    $Recordset1 = mysql_query($query_Recordset1, $cnx) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    

    ligne 38:
    $Recordset1 = mysql_query($query_Recordset1, $cnx) or die(mysql_error());


    Parse error: parse error in C:\Program Files\EasyPHP5.3.0\www\lucie1\essaibd.php on line 38
    0
  17. le père
     
    $query_Recordset1 = "SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']." AND YEAR(date_saisie)=". $_GET['y']; ";"
    retire les 3 derniers caractères ";"
    0
  18. ideal23 Messages postés 505 Statut Membre 28
     
    Erreur de syntaxe près de '=
    Notice: Undefined variable: row_recordset1 in C:\Program Files' à la ligne 1
    Merci encore
    0
  19. le père
     
    Est-ce à dire que tu as maintenant une erreur dès la 1ère ligne ???
    Pour ta variable non définie, fais attention : $row_recordset1 et $row_Recordset1 ça n'est pas la même chose
    0
  20. ideal23 Messages postés 505 Statut Membre 28
     
    $query_Recordset1 = "SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']." AND YEAR(date_saisie)=". $_GET['y'];
    

    Erreur de syntaxe près de '' à la ligne 1
    sans les 3 derniers caractères
    0
  21. ideal23 Messages postés 505 Statut Membre 28
     
    stop stop
    je crois bien que c'est bon
    j'ai enlevé la parenthèse ici ( MONTH(date_saisie)
    avant MONTH
    0
  • 1
  • 2