suivant: Interface PHP - MySQL
monter: Le Langage PHP
précédent: Passage de valeurs via
 
Table des matières
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:
- Connection au serveur:
- . mysql_connect("serveur", "username", "password");
- Sélection d'une base:
- . mysql_select_db("nom de la base");
- 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]";
suivant: Interface PHP - MySQL
monter: Le Langage PHP
précédent: Passage de valeurs via
  Table des matières
Pascal VERON
2000-03-20