next up previous contents
suivant: Interface PHP - MySQL monter: Le Langage PHP précédent: Passage de valeurs via   Table des matières

Interface avec MySQL

Vous trouverez en annexe une liste des différentes fonctions permettant d'interroger une base de données MySQL via un script PHP. La démarche à suivre est ``essentiellement'' toujours la même:
  1. Connection au serveur:
    . mysql_connect("serveur", "username", "password");
  2. Sélection d'une base:
    . mysql_select_db("nom de la base");
  3. Requête SQL:
    . $result = mysql_query("select * from table");
$result contient alors un ensemble de lignes qui correspondent au résultat de la requête. On accède à chacune de ces lignes par appel successif à la fonction mysql_fetch_row:

$row = mysql_fetch_row($result)

$row reçoit un tableau qui contient chacun des champs (sélectionnés par la commande select) de la ligne résultat. La fonction renvoie 0 lorsque toutes les lignes de $result ont été parcourues.

Pour obtenir l'intitulé des champs sélectionnés par select on dispose de la fonction mysql_fetch_field:

$field = mysql_fetch_field($result)

Chaque appel à cette fonction permet d'obtenir différents renseignements sur un des champs résultants de la requête (par ordre de sélection) tels que:
- son nom ($field->name),
- le nom de la table auquel appartient le champ ($field->table),
- le type du champ ($field->type),
etc ...

mysql_fetch_field renvoie 0 lorsque tous les champs ont été parcourus. mysql_num_fields($result) contient le nombre de champs concernés par la requête.

Exemple 17. Supposons que l'on ait une base contact contenant une table adresse dont la structure est:
- un champ nom: chaine de caractères,
- un champ adresse: chaine de caractères,
- un champ code_postal: variable entière.
et qui contient:

Nom Adresse Code_postal
Mulder Los Angeles 0001
Scully Los Angeles 0002
Bond Londres 0007


  • Connection à la base:
    . mysql_connect("serveur", "username", "password");
    . mysql_select_db("contact");

  • Requête SQL:
    . $result = mysql_query("select * from adresse");

  • Affichage des intitulés de champs (nom, adresse, code_postal)
    while ($field = mysql_fetch_field($result))
      print "$field->name";
    

  • Affichage du résultat de la requête
    while ($row = mysql_fetch_row($result))
      for ($i = 0; $i < mysql_num_fields($result); $i++)
         print "$row[$i]";
    

    next up previous contents
    suivant: Interface PHP - MySQL monter: Le Langage PHP précédent: Passage de valeurs via   Table des matières
    Pascal VERON 2000-03-20