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 :

Récupération de données qui coince


Sujet :

PHP & Base de données

  1. #1
    Membre très actif

    Inscrit en
    Août 2005
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 401
    Par défaut Récupération de données qui coince
    Bonjour à tous,

    Je me suis aidé de script de connexion PHP pour oracle sur le web mais je ne comprend pas pourquoi il ne me retourne aucun résultat.
    J'ai ces erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Notice: Undefined variable: results in C:\Program Files\EasyPHP 2.0b1\www\connect.php on line 17
    Il y a 0 résultats.
    Notice: Undefined variable: results in C:\Program Files\EasyPHP 2.0b1\www\connect.php on line 19
    Y'a personne :(
    select.php:
    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
     
    <? // Il suffit de mette 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);
     
    // Crée un tableau, un curseur, compte les colonnes,
    // fait le fetch en insérant dans le tableau.
    $results = array();
    $ora_cur = ora_do($ora_conn, $query);
     
    if ($ora_cur)
    {
      // Nombre de colonnes
      $numCols = ora_numcols($ora_cur);
     
      // Prends la première ligne et la met dans le tableau...
      $row = array();
      for($i=0; $i<$numCols; $i++)
      { // Parcours des colonnes
        $row[ora_columnname($ora_cur, $i)] = ora_getcolumn($ora_cur,$i);
      }
      array_push($results,$row);
     
      // "Fetch" des lignes, une par une, en créant un tableau pour chaque ligne.
      // Chaque tableau est inséré à la suite du tableau $results.
      while (ora_fetch($ora_cur))
      { // Pour chaque ligne
        $row = array();
        for($i=0; $i<$numCols; $i++)
        { // Chaque colonne
          $row[ora_columnname($ora_cur, $i)] = ora_getcolumn($ora_cur,$i);
        }
        array_push($results,$row);
      }
    }
    // Le fameux error_reporting. Mettre en commentaire pour voir les NO_DATA_FOUND.
    error_reporting(1);
    ?>
    connect.php:

    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
     
    <?php
    $ora_conn = ora_logon("****@****", "******");
     
    if (!$ora_conn) {
        echo "<div style=\"background-color: #DDDDDD;width:300px\"><font color=\"red\">Probl&egrave;me pour se connecter &agrave; la base.<BR>\n";
        echo ora_error(), "\n";
        echo "</font></div>";
    }
     
    echo "Liste des communes";
     
    $query="SELECT * FROM tcommune;";
     
    include("select.php");
     
    // Connaître le nombre de résultats :
    echo "Il y a " . count($results) . " résultats.";
    // Parcours du tableau $results pour afficher les résultats :
    if (count($results)) // Si y'a des résultat
    {
     reset($results); // se placer à la première ligne du tableau $results
     while($res=each($results)) // Parcourir le tableau $results
     {
      echo $res[1]['NOM']; // nom
      echo $res[1]['PRENOM']; // prenom
      // Attention, il faut bien mettre les noms de colonnes en MAJUSCULE
      // et entre ' et ' ou " et "
     }
    }
    else // Pas de résultat
    { echo "Y'a personne :("; }
     
     
     
    ?>
    En vous remerciant de votre aide car je débute avec oracle et je galère je dois bien l'avouer.

    A bientôt

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Pour ma part, j'utilise ces fonctions :

    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
    <?php
     
    function bd_connexion($serveur,$base,$login,$motdepasse)
    /* Connexion a la base
    Return = id de connexion / false si erreur */
    {
    	return oci_connect($login,$motdepasse,$serveur);
    }
     
    function bd_requete($conn,$requete,$commiter=1)
    /* Exécution de la requete
    Return = résultat requete / false si erreur */
    {
    	$stid = oci_parse($conn,$requete);
    	if (!$stid)
    	{
    		return false;
    		exit;
    	}
    	if($commiter==1)
    	{
    		$r = oci_execute($stid);
    		if (!$r)
    		{
    			return false;
     
    			exit;
    		}
    	}
    	else
    	{
    		$r = oci_execute($stid,OCI_DEFAULT);
    		if (!$r)
    		{
    			return false;
    			exit;
    		}
    	}
    	return $stid;
    }
     
    if (!($conn = bd_connexion(BD_SERVEUR,"",BD_UTILISATEUR,BD_MOTDEPASSE)))
    		die ('erreur !!!!');
    $requete = 'SELECT * FROM DUAL';
    $resultat = bd_requete($conn,$requete);
    $ligneres = oci_fetch_array($resultat);
     
     
    ?>
    Tu peux t'en inspirer pour retravailler ton code

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/09/2014, 18h13
  2. [Disque Dur] Récupération de données sur DD qui fume
    Par erroneus dans le forum Périphériques
    Réponses: 13
    Dernier message: 12/02/2012, 18h45
  3. Récupération de données getElementById qui fonctionne pas
    Par cuisto44000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/01/2012, 22h10
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 15h36

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