bonjours!
je travaille avec php et j'ai la base de donnée oracle,lorsque je teste la requête elle m'affiche des données,mais quand je l'exécute dans le code elle retourne vide;voilà la fonction qui affiche les données:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public function getList() { $query= "SELECT EXECUTABLES.LIBELLE,EXECUTABLES.EMPLACEMENT,EXECUTABLES.COMMENTAIRES," ."TECHNO_CARTE.LIBELLE_TECHNO," ."SERVICES.LIBELLE AS LIB_SERVICES," ."TYPE_EXECUTABLE.LIBELLE AS TYPE_EXE," ."EST_DU_TYPE.PARAM_IN,EST_DU_TYPE.PARAM_OUT" ."FROM EXECUTABLES,EST_DU_TYPE,TECHNO_CARTE,SERVICES,TYPE_EXECUTABLE,NECESSITE,TRAVAILLE_SUR" ."WHERE TECHNO_CARTE.ID_TECHNO = TRAVAILLE_SUR.ID_TECHNO" ."AND TRAVAILLE_SUR.ID_EXECUTABLE = EXECUTABLES.ID_EXECUTABLE" ."AND SERVICES.ID_SERVICE = NECESSITE.ID_SERVICE" ."AND NECESSITE.ID_SERVICE = EXECUTABLES.ID_EXECUTABLE" ."AND TYPE_EXECUTABLE.ID_TYPE_EXE LIKE EST_DU_TYPE.ID_TYPE_EXE" ."AND EST_DU_TYPE.ID_EXECUTABLE = EXECUTABLES.ID_EXECUTABLE "; $sql=Database::getInstanceOf($this->getApplication()->Parameters['DATA_BASE']); $sql->connect(); $data=array(); if($sql->execute($query)=='ok') { $data= self::getDataFromResult($sql); } $sql->fermer(); return $data; }
la fonction qui verifie la connexion est la suivante:::
alors voilà,si vous avez des suggestion ou vous arrivez à comprendre le problème,n'hésitez pas à me postuler vos réponses,merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 //EXECUTION DE LA REQUETE PASSEE EN PARAMETRE (SELECT) function execute($query) { // Il suffit de mettre en commentaire error_reporting pour faire du // débogage - voir quand il n'y a aucun résultat "NO DATA FOUND" par exemple. error_reporting(0); if (($this->verif != "nok") && ($this->verif != "ok")) { $this->verif = "nok"; } else { echo $this->connection; if ($this->cursor = ora_do($this->connection,$query)) { $this->numCols = ora_numcols($this->cursor); // On met la première ligne dans un tableau $row = array(); for ($i=0; $i<$this->numCols; $i++) { // On parcours toutes les colonnes $row[ora_columnname($this->cursor, $i)] = ora_getcolumn($this->cursor, $i); } $this->nbresults++; // On ajoute la ligne $row au tableau results array_push($this->results, $row); // Avec le fetch, on met une à une, les lignes résultantes de la requete //dans le tableau $row qui sera ensuite mis dans le tableau $results. while(ora_fetch($this->cursor)) { // On parcours toutes les lignes $row=array(); for ($i=0; $i<$this->numCols; $i++) { // Pour chaque colonne de chaque ligne $row[ora_columnname($this->cursor, $i)] = ora_getcolumn($this->cursor, $i); } array_push($this->results, $row); $this->nbresults++; } $this->verif1 = "ok"; } else { $this->verif1 = "nok"; } print_r($this->results); } // Le fameux error_reporting. Mettre en commentaire pour voir les NO_DATA_FOUND. error_reporting(1); return $this->verif1; }
Partager