Erreur de syntaxe php sql

Résolu/Fermé
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 - 15 avril 2011 à 10:52
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 - 15 avril 2011 à 15:40
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

Bonjour

Enlève la parenthèse entre WHERE et MONTH : elle est inutile et tu oublies de la refermer.
1
siniko44 Messages postés 172 Date d'inscription vendredi 30 juillet 2010 Statut Membre Dernière intervention 29 novembre 2013 17
15 avril 2011 à 10:58
Tu pourrais mettre ta requête Php SQL entièrement ?
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 11:08
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
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
15 avril 2011 à 11:14
Salut,

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

0

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

Posez votre question
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 11:20
merci de vos réponses
malheureusement j'ai toujours la même erreur
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 11:57
toujours la même erreur
0
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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 13:13
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
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
15 avril 2011 à 13:18
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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 13:23
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
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 31
Modifié par Eastchild le 15/04/2011 à 13:29
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
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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 13:50
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
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
15 avril 2011 à 14:03
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
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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 14:30
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
$query_Recordset1 = "SELECT * FROM stripbd WHERE ( MONTH(date_saisie)=".$_GET['m']." AND YEAR(date_saisie)=". $_GET['y']; ";"
retire les 3 derniers caractères ";"
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 14:41
Erreur de syntaxe près de '=
Notice: Undefined variable: row_recordset1 in C:\Program Files' à la ligne 1
Merci encore
0
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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 15:15
$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
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
15 avril 2011 à 15:22
stop stop
je crois bien que c'est bon
j'ai enlevé la parenthèse ici ( MONTH(date_saisie)
avant MONTH
0