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 :

Oracle probleme avec PDO_OCI


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut Oracle probleme avec PDO_OCI
    edit : finalement je passe en pdo et j'ai quand meme un problème -> voir mon 2ème message dans le topic. Merci de votre aide.


    Bonjour à tous,
    J'ai du mal à faire le lien entre php (j'utilise easyPHP) et une base Oracle (11g Express).
    J'ai activé les extensions oci, la connexion a l'air de fonctionner car aucune erreur est retourné mais impossible de faire un select.
    J'essai pour l'instant de faire la connexion avec le compte 'system' (je me crérai un compte quand j'arriverai à faire le lien PHP - Oracle).
    Je me suis créé une table TestSystem(id,nm) et voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $connection = oci_connect("system", "MonMDP","XE");
    if(!$connection){
    	echo 'erreur';
    }
    $query = "SELECT id, nm FROM TestSystem";
     
    $statement = oci_parse ($connection, $query);
    oci_execute ($statement);
     
    while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
        echo $row['id'];
        echo $row['nm'];
    }
    J'obtiens une page blanche.

    Pour la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> select * from TestSystem;
     
            ID NM
    ---------- --------------------
             1 testsystemvalue
    Merci beaucoup de votre aide !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise oci_error() pour controler les erreurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Salut et merci de ta réponse.
    Je veux finalement passer en PDO.
    J'ai activer php_pdo_oci.dll dans les configurations de php mais j'obtiens cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur : SQLSTATE[42S02]: pdo_oci_handle_factory: ORA-12154: TNS:could not resolve the connect identifier specified (ext\pdo_oci\oci_driver.c:631)
    J'ai fais un phpinfo() et j'obtiens OCI_PDO enabled mais ligne vide est-ce normal ? Je met un screenshot : http://image.noelshack.com/fichiers/...sans-titre.png

    Merci de votre aide.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu as ça, c'est déjà que PDO oracle est bien activé.
    Après il faut revoir ta chaine de connexion par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Si tu as ça, c'est déjà que PDO oracle est bien activé.
    Après il faut revoir ta chaine de connexion par exemple.
    Voici le code que j'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try { 
    	$db = new PDO("oci:dbname=XP", "system", "MonMDP"); 
    	echo "ok"; 
    }catch(PDOException $e) { 
    	die('Erreur : '. $e->getMessage()); 
    }
     
    $reponse = $db->query('SELECT * FROM TestSystem');
    while($donnee = $reponse->fetch()){
    	echo $donnee['id'] . " -> " . $donnee['nm'];
    }
    Ceci ne m'affiche même pas le "ok", j'ai juste le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur : SQLSTATE[42S02]: pdo_oci_handle_factory: ORA-12154: TNS:could not resolve the connect identifier specified (ext\pdo_oci\oci_driver.c:631)
    Encore merci de ton aide.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 56
    Points : 35
    Points
    35
    Par défaut
    Pas grand monde fait du Oracle
    Moi aussi si j'avais eu le choix j'aurais fait du MySQL

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu fais une recherche avec cette erreur, tu trouveras plein de pistes touchant PHP ou Oracle.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Oracle
    Bonjour,

    Pour ce qui est de Oracle, c'est une grande base avec énormément de possibilités, si vous aimez les défis

    Pour ce qui est de ton erreur, il semble que cela soit un problème de listener qui ne répond pas :

    tnsping XE

    La réponse ... ?

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    De mémoire, pour que ça fonctionne, tu es censé avoir un fichier TNSNAMES quelque part sur la machine du serveur, qui contient la référence à XP.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [Oracle] probleme avec commande UPDATE
    Par edw0000d dans le forum Langage SQL
    Réponses: 1
    Dernier message: 30/01/2007, 18h19
  2. [Oracle] probleme avec une date
    Par ghostdog dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2006, 10h59
  3. [Oracle 10g]probleme avec une CONSTRAINT sur UPDATE
    Par Battosaiii dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/04/2006, 19h05
  4. [JDBC]Probleme avec trigger Oracle
    Par aurel89 dans le forum JDBC
    Réponses: 2
    Dernier message: 02/08/2005, 11h53
  5. [C#] [Oracle] Probleme avec une procedure stockée
    Par sronin1 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 28/05/2004, 19h04

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