Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/12/2012, 16h53   #1
Fer2Lance
Invité régulier
 
Homme
Étudiant
Inscription : avril 2012
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 46
Points : 8
Points : 8
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 :
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 :
1
2
3
4
5
SQL> select * from TestSystem;
 
        ID NM
---------- --------------------
         1 testsystemvalue
Merci beaucoup de votre aide !
Fer2Lance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 19h14   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 492
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 492
Points : 21 321
Points : 21 321
Utilise oci_error() pour controler les erreurs.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 21h19   #3
Fer2Lance
Invité régulier
 
Homme
Étudiant
Inscription : avril 2012
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 46
Points : 8
Points : 8
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 :
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.
Fer2Lance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 21h53   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 492
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 492
Points : 21 321
Points : 21 321
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.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 22h23   #5
Fer2Lance
Invité régulier
 
Homme
Étudiant
Inscription : avril 2012
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 46
Points : 8
Points : 8
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 :
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 :
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.
Fer2Lance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 20h26   #6
Fer2Lance
Invité régulier
 
Homme
Étudiant
Inscription : avril 2012
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 46
Points : 8
Points : 8
Pas grand monde fait du Oracle
Moi aussi si j'avais eu le choix j'aurais fait du MySQL
Fer2Lance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 20h42   #7
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 492
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 492
Points : 21 321
Points : 21 321
Si tu fais une recherche avec cette erreur, tu trouveras plein de pistes touchant PHP ou Oracle.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 22h17   #8
nathieb
Membre émérite
 
Avatar de nathieb
 
Homme olivier Thiébaut
Chef de projet/Architecte
Inscription : mai 2004
Messages : 705
Détails du profil
Informations personnelles :
Nom : Homme olivier Thiébaut
Âge : 46
Localisation : France

Informations professionnelles :
Activité : Chef de projet/Architecte
Secteur : Service public

Informations forums :
Inscription : mai 2004
Messages : 705
Points : 844
Points : 844
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 déstructurant,
be cool, be free

J2EE - PHP - Free OS
nathieb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 10h48   #9
Celira
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 4 270
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 28
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 4 270
Points : 8 382
Points : 8 382
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [CODEINLINE=php][/CODEINLINE]
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h51.


 
 
 
 
Partenaires

Hébergement Web