IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requete ne retourne aucun résultat


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Points : 43
    Points
    43
    Par défaut requete ne retourne aucun résultat
    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:::
    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;
    	}
    alors voilà,si vous avez des suggestion ou vous arrivez à comprendre le problème,n'hésitez pas à me postuler vos réponses,merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour
    Tu dois apprendre quelques trucs, pour déboguer ton code PHP.

    En voici 1 : echo

    Fais un echo de ta variable $query et dis moi si tu vois quelque chose qui cloche,parce que tu as un erreur là.

    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
     
    $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 ";
     
    echo $query;

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Points : 43
    Points
    43
    Par défaut
    j'ai déjà fais le echo mais il ne m'affiche que la requête telle qu'elle est.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Aller fais un petit effort.............






    Manque pas quelques espaces?............






    notamment vers les 'AND'

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Points : 43
    Points
    43
    Par défaut
    je le fais,
    consèrnant l'espace je ne sais pas mais je pense que il n'ya pas d'espaces dns la requête non?

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Tu es incorrigible

    essaye cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $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 ";

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 75
    Points : 43
    Points
    43
    Par défaut
    youuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupi,j'ai réussi!
    j'ai ajouté un peu d'espaces des cotés des " et ma requête arrive maintenant à afficher les données merci à toi,mais j'ai encore d'autres problèmes que je vais essayer de resoudre tout de suite merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Une requete qui ne retourne aucun résultats
    Par amerex dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/01/2010, 17h46
  2. Requête ne retournant aucun résultat
    Par Arbooch dans le forum Forms
    Réponses: 5
    Dernier message: 07/08/2009, 10h59
  3. Réponses: 2
    Dernier message: 26/11/2008, 09h15
  4. [MySQL] Savoir si la requête ne retourne aucun résultat
    Par mickado dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/04/2007, 09h37
  5. Ma requete me retourne aucune valeur
    Par zorba49 dans le forum Langage SQL
    Réponses: 19
    Dernier message: 22/08/2005, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo