Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2360 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP + ODBC access => Format DATETIME

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP + ODBC access => Format DATETIME

n°971614
petitpata
Posté le 04-02-2005 à 13:46:16  profilanswer
 

Voilà, j'ai un probleme pour interroger ODBC sur un champ datetime. Le driver ODBC est bien installé pour la base de donnée Access que j'interroge et j'arrive à me connecter et à exectuer mes requetes SQL sans probleme.
Par contre impossible d'interroger la bd sur un datetime, apparement je n'utilise pas le bon format mais je n'ai aucune idée du format à utiliser. J'ai bien regardé sur les msdn et tenté avec les formats définis de ce coté mais rien à faire.

Code :
  1. $cur=odbc_exec($con,"SELECT PlanDate, \"Company ID\" FROM \"T Planning\" WHERE PlanDate='2005-01-25 00:00:00'" );


 
Voici les erreurs que j'obtiens:  

Citation :

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression., SQL state 22005 in SQLExecDirect in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 18
 
Warning: odbc_result_all(): supplied argument is not a valid ODBC result resource in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 19


 
Peut etre que quelqu'un s'est déjà posé cette question, merci ^^

mood
Publicité
Posté le 04-02-2005 à 13:46:16  profilanswer
 

n°971671
boulax
Inserer phrase hype en anglais
Posté le 04-02-2005 à 14:06:47  profilanswer
 

T'as essayé de formatter la date ? (DATE_FORMAT ?)


---------------
Posté depuis des chiottes, sales. Me gusta.
n°971702
petitpata
Posté le 04-02-2005 à 14:30:51  profilanswer
 

boulax a écrit :

T'as essayé de formatter la date ? (DATE_FORMAT ?)


 
Je ne connaissais pas du tout la fonction DATE_FORMAT() en SQL maintenant dans mon cas je ne vois pas trop comment je pourrais m'en servir. Peut etre ceci ?
 

Citation :

$cur=odbc_exec($con,"SELECT PlanDate, \"Company ID\" FROM \"T Planning\" WHERE PlanDate=DATE_FORMAT(\"2005-01-25\", \"%Y-%m-%d\"" )

n°971705
boulax
Inserer phrase hype en anglais
Posté le 04-02-2005 à 14:31:46  profilanswer
 

Non, c'est ton champs date que tu dois formater, et ce de la meme facon que la chaine à laquelle tu le compares.


---------------
Posté depuis des chiottes, sales. Me gusta.
n°971711
petitpata
Posté le 04-02-2005 à 14:34:31  profilanswer
 

Code :
  1. $cur=odbc_exec($con,"SELECT PlanDate, \"Company ID\" FROM \"T Planning\" WHERE PlanDate=DATE_FORMAT(\"2005-01-25\", \"%Y-%m-%d\" )" );


 

Citation :

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Undefined function 'DATE_FORMAT' in expression., SQL state 37000 in SQLExecDirect in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 18


 
Voilà, apparement il ne connait pas DATE_FORMAT()

n°971714
boulax
Inserer phrase hype en anglais
Posté le 04-02-2005 à 14:35:48  profilanswer
 

Ouais bon, date_format c'est une fonction MySQL.. maintenant tu devrais consulter la doc de ton SGBD et voir les fonctions de traitements des dates qui sont disponibles...


---------------
Posté depuis des chiottes, sales. Me gusta.
n°971716
petitpata
Posté le 04-02-2005 à 14:36:00  profilanswer
 

boulax a écrit :

Non, c'est ton champs date que tu dois formater, et ce de la meme facon que la chaine à laquelle tu le compares.


 
Je vais tenter tout de suite, mais comme il ne connait pas la fonction ca m'étonnerais que ca fonctionne.

n°971720
petitpata
Posté le 04-02-2005 à 14:36:54  profilanswer
 

boulax a écrit :

Ouais bon, date_format c'est une fonction MySQL.. maintenant tu devrais consulter la doc de ton SGBD et voir les fonctions de traitements des dates qui sont disponibles...


 
lol, toujours une longueur de retard moi ;) C'est ODBC qui n'accepte pas cette fonction il me semble.

n°971723
boulax
Inserer phrase hype en anglais
Posté le 04-02-2005 à 14:38:28  profilanswer
 

petitpata a écrit :

lol, toujours une longueur de retard moi ;) C'est ODBC qui n'accepte pas cette fonction il me semble.


 
ODBC n'est qu'un driver. Il te renvoi une erreur fournie par Access... donc zieute la doc Access pour connaitre les fonctions de traitement (comparaison?) de dates..


---------------
Posté depuis des chiottes, sales. Me gusta.
n°971982
petitpata
Posté le 04-02-2005 à 16:18:15  profilanswer
 

boulax a écrit :

ODBC n'est qu'un driver. Il te renvoi une erreur fournie par Access... donc zieute la doc Access pour connaitre les fonctions de traitement (comparaison?) de dates..


 
Merci de ton aide !
 
Donc après quelques recherches sur le fonctionnement d'access, je me retrouve avec une requete qui devrait fonctionner, sauf que le serveur php me retourne toujours une erreur, je subodore une erreur de synthax.

Code :
  1. $requete='SELECT Format(PlanDate,"yyyy/mm/dd" ) AS Expr1 FROM "T Planning" WHERE (((Format(PlanDate,"yyyy/mm/dd" ))="2003/02/03" ))';
  2. $cur=odbc_exec($con,$requete);


Citation :

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2., SQL state 07001 in SQLExecDirect in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 19

mood
Publicité
Posté le 04-02-2005 à 16:18:15  profilanswer
 

n°972071
petitpata
Posté le 04-02-2005 à 17:27:12  profilanswer
 

Code :
  1. SELECT Format([plandate],"yyyy/mm/dd" ) AS Expr1,[Company ID]
  2. FROM [T Planning]
  3. WHERE (((Format([plandate],"yyyy/mm/dd" ))="2003/02/03" ));


 
Voici la requete produite par access lui même. Il semblerait que le driver ODBC ne veuille pas de ce truc ... je parle d'ODBC puisque cette requete fonctionne très bien dans Access.
 
J'ai essayé de cette facon aussi :

Code :
  1. $requete="SELECT Format(TPlanning.plandate,\"yyyy/mm/dd\" ) AS Expr1, TPlanning.CompanyID FROM TPlanning WHERE (((Format(TPlanning.plandate,\"yyyy/mm/dd\" ))=#2003/02/03#))";


Mais ca ne fonctionne pas mieux, j'ai systématiquement la même erreur:

Citation :

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1., SQL state 07001 in SQLExecDirect in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 19


Quelqu'un a une idée ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP + ODBC access => Format DATETIME

 

Sujets relatifs
[HTML/JS/PHP] accèder à une variable d'un formulaire[VB] pb connection VB & ACCESS !!!
PHP/MySQL: liste déroulante, affichage automatiquePHP & soucis
equivalent pseudo-table dual sous access[HTML/CSS/PHP] problème de jonglage entre les css !
réalisation base de données avec vb et access XP[PHP]Calculer le nombre de samedi se trouvant entre 2 dates
Questions PHP/MYSQL sur les TEXTAREAequivalence fonctions CFM /PHP
Plus de sujets relatifs à : PHP + ODBC access => Format DATETIME


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR