Base de données ODBC PHP

ODBC est une interface de programmation d'application (Application Programming Interface, API) qui nous permet de nous connecter à une source de données (par exemple, une base de données MS Access).

Créer une connexion ODBC

Grâce à une connexion ODBC, vous pouvez vous connecter à n'importe quelle base de données sur n'importe quel ordinateur de votre réseau, tant que la connexion ODBC est disponible.

Voici comment créer une connexion ODBC vers des données MS Access :

  1. Ouvrez dans le panneau de configurationOutils de gestion
  2. Double-cliquez sur l'un desSource de données (ODBC) Icône
  3. Sélectionner système Onglet DSN
  4. Cliquez sur “,
  5. Sélectionner Microsoft Access Driver. CliquezTerminer.
  6. Dans l'interface suivante, cliquez sur “Sélectionner” pour localiser la base de données.
  7. Donnez un nom à cette base de donnéesNom de la source de données (DSN).
  8. CliquezConfirmer.

Veuillez noter que cette configuration doit être effectuée sur le ordinateur où se trouve votre site Web. Si votre ordinateur exécute le serveur d'informations Internet (IIS), les instructions ci-dessus seront efficaces, mais si votre site est hébergé sur un serveur distant, vous devez avoir un accès physique à ce serveur, ou votre fournisseur d'hébergement doit créer un DSN pour vous.

Se connecter à ODBC

La fonction odbc_connect() est utilisée pour se connecter à une source de données ODBC. Cette fonction prend quatre paramètres : le nom de la source de données, le nom d'utilisateur, le mot de passe et un paramètre de type de pointeur optionnel.

La fonction odbc_exec() est utilisée pour exécuter une requête SQL.

Exemple

Dans cet exemple, une connexion est créée vers le DSN nommé northwind, sans nom d'utilisateur et mot de passe. Ensuite, une requête SQL est créée et exécutée :

$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers"; 
$rs=odbc_exec($conn,$sql);

Récupérer un enregistrement

La fonction odbc_fetch_row() est utilisée pour renvoyer un enregistrement à partir du jeu de résultats. Si une ligne peut être renvoyée, elle renvoie true, sinon false.

Cette fonction prend deux paramètres : l'identifiant du résultat ODBC et un numéro de ligne optionnel :

odbc_fetch_row($rs)

Récupérer un champ à partir d'un enregistrement

La fonction odbc_result() est utilisée pour lire un champ à partir d'un enregistrement. Cette fonction prend deux paramètres : l'identifiant du résultat ODBC et le numéro ou le nom du champ.

La ligne de code suivante renvoie la valeur du premier champ du enregistrement :

$compname=odbc_result($rs,1); 

La ligne de code suivante renvoie la valeur d'un champ appelé "CompanyName":

$compname=odbc_result($rs,"CompanyName");

Fermer la connexion ODBC

La fonction odbc_close() est utilisée pour fermer la connexion ODBC.

odbc_close($conn);

Exemple ODBC

L'exemple suivant montre comment créer d'abord une connexion de base de données, puis un jeu de résultats, puis afficher les données dans un tableau HTML.

<html>
<body>
<?php
$conn=odbc_connect('northwind','','');
if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";
while (odbc_fetch_row($rs))
{
  $compname=odbc_result($rs,"CompanyName");
  $conname=odbc_result($rs,"ContactName");
  echo "<tr><td>$compname</td>";
  echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
</body>
</html>