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 :

Problème d'affichage d'un résultat de requête simple


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 46
    Points : 50
    Points
    50
    Par défaut Problème d'affichage d'un résultat de requête simple
    bonsoir,

    J'ai un soucis, je souhaite faire afficher le résultat d'une requète via php, j'ai suivi tous les docs et manuel PHP , plus mon bouquin de programmation php sous oracle, et la je m'en sort pas.

    Avec le code ci dessous, j'ai bien le message "connected to Oracle" (super) mais par contre, rien du tout en résultat. Par contre si j'utilise un "print_r" pour faire afficher $row, et bien j'ai bien un résultat, bien sur en mode debug.

    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
    <?php
    $conn=oci_connect('system','motdepasse,'DATABASE');
    if (!$conn){
      $msg = "Cannot connect to Oracle ".oci_error();
    echo $msg;
    } else {
      $msg = "Connected to Oracle";
    echo $msg;
    }
    
    $query='select sysdate from dual';
    $sql=oci_parse($conn,$query );
    oci_execute($sql,OCI_DEFAULT);
    echo "<table border='1'>\n";
    while ( $row=oci_fetch_assoc($sql))
     {
        echo "<tr>\n";
        echo "<td>". $row[TEST] . "</td>\n";
        echo "</tr>\n";
     }
    echo "</table>\n";
    
    oci_free_statement($sql);
    oci_close($conn);
    
    ?>
    J'ai essayé oci_fetch_assoc, oci_fetch_array , oci_fetch_row et bien sur ca change rien.

    Et encore mieux, si je met

    a la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<td>". $row[TEST] . "</td>\n";
    J'ai le mot "ARRAY" qui s'affice sur mon navigateur, et point barre.

    Pourquoi les résultats s'affichent avec print_r , et pas avec echo ?

    merci du coup de main
    @+++
    Mick
    -----------
    Consultant base de données
    DBA Oracle 10g Certified
    DBA PostgreSql - SqlServer

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Le problème vient du fait que la constante TEST n'est pas définie.

    Essaie L'utilisation de print_r te donne l'indice à prendre en compte.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 46
    Points : 50
    Points
    50
    Par défaut
    Merci pour l'info, malheureusement ca marche toujours pas.

    sysdate étant un "champ" , si je dois la déclarer en tant que constante , comment faire ?
    je suis dsl , car coté programmation php je suis pas une fleche. ...

    Merci,
    Mick
    -----------
    Consultant base de données
    DBA Oracle 10g Certified
    DBA PostgreSql - SqlServer

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Tu peux montrer ce que tu obtiens en utilisant print_r ?
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 46
    Points : 50
    Points
    50
    Par défaut
    avec :
    print_r($rwo) ;

    j'obtiens cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connected to Oracle Array ( [0] => 23/09/2011_23:06:36 [SYSDATE] => 23/09/2011_23:06:36 )
    -----------
    Consultant base de données
    DBA Oracle 10g Certified
    DBA PostgreSql - SqlServer

  6. #6
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Dans ce cas, tu peux utiliser ce code :
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 46
    Points : 50
    Points
    50
    Par défaut
    ok merci cela fonctionne correctement.

    Par contre, une derniere question, si je fais une requète du type

    Comment déclarer cette "constante" dans mon ?

    il y a t'il une méthode "générique" ?
    Merci
    Mick
    -----------
    Consultant base de données
    DBA Oracle 10g Certified
    DBA PostgreSql - SqlServer

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/04/2012, 11h00
  2. Réponses: 5
    Dernier message: 02/02/2009, 16h23
  3. Problèmes d'espaces dans mes résultat de requète
    Par Stouille89 dans le forum JDBC
    Réponses: 4
    Dernier message: 23/04/2008, 12h25
  4. Affichage d'un résultat selon requête dans formulaire avec date
    Par SMPGSARL dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 06/07/2006, 14h52
  5. Réponses: 7
    Dernier message: 26/09/2005, 17h50

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