Maison >développement back-end >Problème PHP >Comment interroger des données Oracle en php

Comment interroger des données Oracle en php

PHPz
PHPzoriginal
2023-03-29 10:09:57663parcourir

PHP interroge les données Oracle

Avec le développement de la technologie Internet, de plus en plus de sites Web et d'applications doivent interroger et exploiter des bases de données. Oracle est un système de gestion de bases de données relationnelles largement utilisé qui peut stocker et gérer de grandes quantités de données. PHP est un langage de script côté serveur largement utilisé qui peut communiquer avec les bases de données Oracle. Dans cet article, nous apprendrons comment interroger une base de données Oracle en utilisant PHP.

  1. Préparation de l'environnement

Avant d'utiliser PHP pour interroger la base de données Oracle, nous devons préparer les outils et l'environnement correspondants. Les étapes spécifiques sont les suivantes :

1.1 Installer PHP

Vous devez d'abord installer PHP. Le site officiel de PHP propose des programmes d'installation pour les versions Windows et Linux. Vous pouvez télécharger le programme correspondant pour l'installer en fonction de votre propre système d'exploitation. Pendant le processus d'installation, vous devez faire attention au choix d'installer le pilote de base de données Oracle.

1.2 Installer le logiciel client Oracle

Après avoir installé PHP, vous devez installer le logiciel client Oracle pour que PHP puisse se connecter à la base de données Oracle. Le site Web officiel d'Oracle fournit des programmes d'installation de logiciels clients pour Windows et Linux. Vous pouvez télécharger le programme correspondant pour l'installer en fonction de votre propre système d'exploitation. Pendant le processus d'installation, vous devez faire attention au choix d'installer le logiciel client Oracle.

1.3 Configurer le fichier PHP.ini

Il existe un fichier php.ini dans le répertoire d'installation de PHP, qui doit être configuré pour que PHP puisse se connecter à la base de données Oracle. Les étapes spécifiques sont les suivantes :

  • Recherchez "extension=php_oci8.dll" ou "extension=php_oci8.so" dans le fichier php.ini, supprimez le point-virgule devant celui-ci et activez le module d'extension OCI8.
  • Ajoutez le code suivant dans le fichier php.ini :
[OCI8]
extension=php_oci8.dll(或php_oci8.so)
oci8.privileged_connect = Off
oci8.max_persistent = -1
oci8.persistent_timeout = -1
oci8.ping_interval = 60
oci8.statement_cache_size = 20
oci8.default_prefetch = 100
  1. Connectez-vous à la base de données Oracle

Après avoir configuré l'environnement, nous pouvons utiliser PHP pour nous connecter à la base de données Oracle. Les étapes spécifiques sont les suivantes :

2.1 Préparer les informations de connexion

Lors de la connexion à la base de données Oracle, vous devez fournir les informations suivantes :

  • Nom d'hôte ou adresse IP de la base de données Oracle
  • Numéro de port de la base de données Oracle (la valeur par défaut est 1521)
  • SID de la base de données Oracle ou nom du service
  • Nom d'utilisateur et mot de passe de la base de données Oracle

Ces informations peuvent être obtenues auprès de l'administrateur de la base de données Oracle.

2.2 Utiliser l'extension OCI8 pour se connecter à la base de données Oracle

Dans le code PHP, nous pouvons utiliser l'extension OCI8 pour nous connecter à la base de données Oracle. Les étapes spécifiques sont les suivantes :

$conn = oci_connect($user, $password, $host . '/' . $sid);

Parmi eux, $user et $password sont le nom d'utilisateur et le mot de passe de la base de données Oracle, $host est le nom d'hôte ou l'adresse IP de la base de données Oracle et $sid est le SID ou le service. nom de la base de données Oracle. Une fois la connexion réussie, $conn est l'objet de connexion.

  1. Effectuer des opérations de requête

Une fois la connexion réussie, nous pouvons utiliser l'extension OCI8 pour effectuer des opérations de requête. Les étapes spécifiques sont les suivantes :

3.1 Préparer les instructions de requête

Les instructions de requête peuvent être écrites en langage SQL et sa syntaxe est la même que celle d'Oracle SQL.

SELECT column1, column2, ... columnN
FROM table_name
WHERE [condition]

Parmi eux, column1, column2, ... columnN est le nom de la colonne de requête, table_name est le nom de la table de requête et [condition] est la condition de la requête.

3.2 Utiliser l'extension OCI8 pour effectuer des opérations de requête

Dans le code PHP, nous pouvons utiliser l'extension OCI8 pour effectuer des opérations de requête. Les étapes spécifiques sont les suivantes :

$stid = oci_parse($conn, $query);
oci_execute($stid);

Parmi elles, $conn est l'objet de connexion, $query est l'instruction de requête et $stid est l'objet de résultat de la requête.

  1. Traitement des résultats de requête

Les résultats de requête peuvent être traités à l'aide des fonctions de l'extension OCI8. Les étapes spécifiques sont les suivantes :

4.1 Obtenir le nom de la colonne du résultat de la requête

Vous pouvez utiliser la fonction oci_num_fields() pour obtenir le numéro de colonne du résultat de la requête et utiliser la fonction oci_field_name() pour obtenir le nom de la colonne.

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; ++$i) {
    $colname = oci_field_name($stid, $i);
    echo "$colname\t";
}

4.2 Obtenir les enregistrements des résultats de la requête

Vous pouvez utiliser la fonction oci_fetch_array() pour obtenir une ligne d'enregistrements et la stocker sous forme de tableau.

while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    foreach ($row as $item) {
        echo $item."\t";
    }
}
  1. Code complet

Ce qui suit est un exemple de code complet pour interroger la base de données Oracle à l'aide de PHP :

$user = "用户名";
$password = "密码";
$host = "主机名/IP地址";
$sid = "SID/服务名";
$conn = oci_connect($user, $password, $host . '/' . $sid);
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$query = "SELECT * FROM table_name WHERE condition";
$stid = oci_parse($conn, $query);
oci_execute($stid);
$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; ++$i) {
    $colname = oci_field_name($stid, $i);
    echo "$colname\t";
}
while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    foreach ($row as $item) {
        echo $item."\t";
    }
}
oci_free_statement($stid);
oci_close($conn);

Ce qui précède sont les étapes détaillées pour interroger la base de données Oracle à l'aide de PHP. En étudiant cet article, je pense que les lecteurs ont compris comment se connecter et interroger la base de données Oracle en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn