Erreur de syntaxe sql

Eléphant du PHP | 70 Messages

25 févr. 2009, 15:46

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
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

ViPHP
ViPHP | 1996 Messages

25 févr. 2009, 15:53

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'");
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 févr. 2009, 15:54

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é ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 70 Messages

25 févr. 2009, 16:01

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".
La devise du vrai Geek ==> Plus tu dors moins t'es fort !!

ViPHP
ViPHP | 2287 Messages

25 févr. 2009, 17:03

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.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

x@v
Mammouth du PHP | 570 Messages

26 févr. 2009, 00:15

à 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.

ViPHP
ViPHP | 1996 Messages

26 févr. 2009, 16:07

à 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 :wink:
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Invité
Invité n'ayant pas de compte PHPfrance

26 févr. 2009, 17:34

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 févr. 2009, 20:06

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...