Erreur de syntaxe php sql

Résolu
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   -  
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   -
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

le père
 
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   Statut Membre Dernière intervention   17
 
Tu pourrais mettre ta requête Php SQL entièrement ?
0
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   19
 
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   Statut Membre Dernière intervention   28
 
merci de vos réponses
malheureusement j'ai toujours la même erreur
0
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   28
 
toujours la même erreur
0
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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   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
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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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
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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   28
 
Erreur de syntaxe près de '=
Notice: Undefined variable: row_recordset1 in C:\Program Files' à la ligne 1
Merci encore
0
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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   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
ideal23 Messages postés 456 Date d'inscription   Statut Membre Dernière intervention   28
 
stop stop
je crois bien que c'est bon
j'ai enlevé la parenthèse ici ( MONTH(date_saisie)
avant MONTH
0