Afficher une table oracle

Afficher une table oracle - PHP - Programmation

Marsh Posté le 08-12-2012 à 16:46:42    

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. $connection = oci_connect("system", "MonMDP","XE" );
  2. if(!$connection){
  3. echo 'erreur';
  4. }
  5. $query = "SELECT id, nm FROM TestSystem";
  6. $statement = oci_parse ($connection, $query);
  7. oci_execute ($statement);
  8. while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
  9.     echo $row['id'];
  10.     echo $row['nm'];
  11. }


 
J'obtiens une page blanche.
 
Pour la base :
 

Code :
  1. SQL> select * from TestSystem;
  2.         ID NM
  3. ---------- --------------------
  4.          1 testsystemvalue


 
Merci beaucoup de votre aide !  ;)

Reply

Marsh Posté le 08-12-2012 à 16:46:42   

Reply

Marsh Posté le 08-12-2012 à 22:27:52    

Sinon, essaye avec PDO + PDO_OCI ?


Message édité par CyberDenix le 08-12-2012 à 22:28:28

---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 10-12-2012 à 09:14:06    

Tu n'as pas mis de ; dans ta requête faite via PHP.
Dans mes souvenir d'oracle la requete attendait une suite tant que le ; n'était pas là (enfin sous SQLPlus).


Message édité par yellu le 10-12-2012 à 09:17:17
Reply

Marsh Posté le 12-12-2012 à 19:19:27    

Salut et merci à vous deux.
J'ai voulu finalement passé à PDO (merci quand même à yellu tu avais peut être la solution).
 
Mais bien évidement : nouvelle erreur !
 
Voici le code que j'ai testé :
 

Code :
  1. try {
  2. $db = new PDO("oci:dbname=XP", "system", "MonMDP" );
  3. echo "ok";
  4. }catch(PDOException $e) {
  5. die('Erreur : '. $e->getMessage());
  6. }
  7. $reponse = $db->query('SELECT * FROM TestSystem');
  8. while($donnee = $reponse->fetch()){
  9. echo $donnee['id'] . " -> " . $donnee['nm'];
  10. }


 
Ceci ne m'affiche même pas le "ok", j'ai juste le message suivant :

Code :
  1. 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 bien entendu enlever le ; de php_pdo_oci (par contre pas de php_pdo tout court).
Quand ça veut pas ça veut pas !  :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed