|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mars 2005 Messages : 10 ![]() |
Bonjour,
j'ai un petit problème avec l'exécution d'une requête attaquant une base Oracle dans un script PHP. Voici le bout de code qui construit la requête : Code :
Code SQL :
SELECT TRAITEMENT, AVG(DUREE_MOY) AS VAL FROM XXCC.XXCC_ALR_GTS WHERE trunc(completion_date, 'Month') = trunc (to_date('01/5/2007', 'DD/MM/YYYY'), 'Month') GROUP BY TRAITEMENT ORDER BY VAL ... ce qui semble correct. Tout du moins, lorsque je l'exécute dans un requêteur (en l'occurence TOAD), j'ai le bon résultat (dans mon cas, 64 rows). Puis vient ma petite boucle pour récupérer ces lignes dans PHP : Code :
Je fais mes premiers pas dans le monde PHP/Oracle, peut-être y a-t-il quelque chose que j'ignore à propos de la gestion des dates, quelque chose qui marche directement sur la base mais pas via PHP, ou je ne sais quoi encore ? Si quelqu'un a une idée Quelques petites infos au cas où : je développe sur EasyPHP 1.8, qui inclut PHP 4.3.1 je crois ; j'ai rajouté l'extension php_oci8.dll. Le but du WHERE est de sélectionner les lignes dont la date correspond à un mois et/ou une année donnée, j'utilise trunc car j'ai trouvé ça quelque part mais peut-être y a-t-il une meilleure façon de faire ? |
||||
|
|
00
|
|
|
#2 | ||||
|
Invité de passage
![]() Inscription : mars 2005 Messages : 10 ![]() |
J'ai modifié ma requête de plusieurs manières, en particulier de la façon suivante :
Code :
Code SQL :
...ce qui semble très bien. L'exécution dans TOAD me retourne bien seulement 64 lignes. Il s'agit donc là d'une comparaison de chaînes et non de dates (?). Pourtant, il y a toujours 226 éléments dans mes arrays par la suite (soit le nombre de lignes obtenus sans le WHERE). ... comprends pô |
||||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2005 Messages : 10 ![]() |
Bon, j'ai trifouillé avec les opérateurs de comparaison, remplacé mon = par des <=, >=, LIKE, etc.
Au bout d'un moment j'ai remis = et ça a commencé à marcher. La requête est pourtant exactement la même... Peut être un problème de cache, je sais pas :/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com