Page 1 sur 1
Erreur de syntaxe sql
Posté : 25 févr. 2009, 15:46
par Arkonara
bonjour a tous,
je pense avoir une erreur de syntaxe dans cette requete pouvez-vous me dire laquel car je ne le trouve pas
$resultat=mysql_query("SELECT * FROM incidents WHERE date_icdt >= mktime(0,0,0, date("m")-1,01,date("Y"))";
Merci
Posté : 25 févr. 2009, 15:53
par Aureusms
Avant que tu fasses reprendre par les modos, les mot URGENT vont te faire bouler rapidement. Je pense que pour cette fois tu es prévenu.
Sinon ta requête doit être en mode texte : le plus simple créé une variable temporaire pour éviter les erreurs de parenthèse.
$date_temp = mktime(0,0,0, date("m")-1,01,date("Y"));
$resultat=mysql_query("SELECT * FROM incidents WHERE date_icdt >= '$date_temp'");
Posté : 25 févr. 2009, 15:54
par @rthur
Les erreurs de guillemets, de parenthèses et de mélange de fonctions PHP et MySQL, tout ça dans une seule ligne de code, c'est interdit dans le forum PHP
avancé 
Posté : 25 févr. 2009, 16:01
par Arkonara
oups les modos vont me faire ma fete quel con
en tout cas merci quand meme aureusms pour ta reponse qui semblerait etre la bonne, il faut que je teste un peu plus profondement sa maintenant
merci quand meme
ps: pour les modos dsl pour le urgent
Il semblerais qu'il y ait un problem puisque que lorsque j'effectue un echo sur la varaible $date_temp voila ce qu'il maffiche "1230764400".
Posté : 25 févr. 2009, 17:03
par Calimero
Il semblerais qu'il y ait un problem puisque que lorsque j'effectue un echo sur la varaible $date_temp voila ce qu'il maffiche "1230764400".
Il faut formater ta date dans le format utilisé par ton serveur MySQL pour cette colonne (que nous ne pouvons pas deviner). Pour faire ça il faut regarder du côté de la fonction date() de PHP avec ses différents paramètres.
Posté : 26 févr. 2009, 00:15
par x@v
à l'avenir faudra penser :
echo $resultat;
pour le samu tu composes le 15, ou t'apelle les pompiers, des beaux gars musclés c'est toujours rassurant, 18.
Posté : 26 févr. 2009, 16:07
par Aureusms
à l'avenir faudra penser :
echo $resultat;
pour le samu tu composes le 15, ou t'apelle les pompiers, des beaux gars musclés c'est toujours rassurant, 18.
Ou Chuck Nurris

Posté : 26 févr. 2009, 17:34
par Invité
voici la solution
$date_temp = mktime(0,0,0, date("m")-1, 1, date("Y"));
$date=strftime ('%Y-%m-%d', $date_temp); //Ici j' obtient une date du type "2009-02-25"
$resultat=mysql_query("SELECT * FROM incidents WHERE date_icdt >='$date'");
Et merci a vous pour les proposition
Posté : 26 févr. 2009, 20:06
par Ryle
Tu as aussi la version tout SQL
Code : Tout sélectionner
SELECT * FROM incidents
WHERE date_icdt >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
Voir la FAQ pour plus d'infos sur la
manipulation des dates avec php et mysql 