Connecter a une base de donnée oracle avec PHP

De nombreuses applications PHP ont été développées en gardant Oracle comme base de données par défaut au lieu de MySQL. C’est un problème très courant pour celles qui utilisent Oracle 11g dans Windows 7 (64 bits) avec des applications PHP auxquelles la connexion de base de données Oracle a été refusée. Ici, nous allons utilisé Instant Client pour connecter une base de données Oracle à notre application PHP.
 
 
Au lieu d’utiliser une installation séparée de PHP et Apache, nous allons utilisé ici le serveur WAMP. Suivez simplement les étapes pour connecter une base de données Oracle à une applications PHP sur la plate-forme Windows 7 (64 bits).

ÉTAPE 1: Installez d’abord le serveur WAMP et Oracle 11g.

ÉTAPE 2: Pour Windows 7 (64 bits), téléchargé instantclient-basic-windows.x64-11.2.0.4.0.zip, à partir de ce lien et extrayez-le dans C:\Windows\SysWOW64\instantclient_11_2 et définissez-le sur la variable d’environnement PATH.
 

 
 
ÉTAPE 3: Redémarrez le système maintenant.

ÉTAPE 4: Pour activer l’extension PHP, éditez le fichier php.ini et supprimez simplement le point virgule « ; » au début de la ligne.

extension = php_oci8_11g.dll

Comme ceci:
 

 
ÉTAPE 5: Redémarrez le serveur WAMP.

ÉTAPE 6: Ouvrez le fichier D:\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora pour afficher le nom de base de données.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
  
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Ici, le nom de l’hôte est « localhost », et le nom du base de données est « orcl ».
 
 
ÉTAPE 7: Maintenant vous pouvez écrire du code pour vous connecter à la base de données Oracle. Voici un exemple de code PHP:

<?php

$conn = oci_connect('test_user', 'test_password', 'localhost/orcl');

if (!$conn) {
   die("Erreur lors de la connexion à la base de données");
}

$stid = oci_parse($conn, 'SELECT * from users');
oci_execute($stid);

echo "<table>";
echo "<tr><th>Name</th><th>Address</th></tr>";
while (($user = oci_fetch_array($stid, OCI_BOTH)) != false) {
	echo "<tr>";	
	echo "<td>".$user['NAME']."</td>";
	echo "<td>".$user['Address']."</td>";
	echo "</tr>";
}
echo "</table>";

?>

Le nom d’hôte provient de votre fichier tnsnames.ora et la valeur SID est égale à votre nom de base de données. Ensuite enregistrez le fichier sous le nom test.php.
QCM sur PHP

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *