IV.3.3.L'interface phpMyAdmin
Le phpMyAdmin est un outil entièrement écrit en
PHP qui fournit une interface simple et très complète pour
administrer une base MySQL. La plupart des commandes de l'utilitaire mysql
peuvent s'effectuer par l'intermédiaire de phpMyAdmin, les
opérations possibles dépendant bien sûr des droits de
l'utilisateur qui se connecte à la base. Voici une liste des principales
possibilités
:
58
+ Créer et détruire des bases de données
(sous le compte root de MySQL). + Créer, détruire, modifier la
description des tables.
+ Consulter le contenu des tables, modifier certaines lignes ou
les détruire,
...
+ Exécuter des requêtes SQL interactivement.
+ Charger des fichiers dans des tables et,
réciproquement, récupérer le contenu de tables dans des
fichiers ASCII.
+ Administrer MySQL.
Beaucoup de fournisseurs d'Accès utilisent ce module
pour permettre la création, modification ou mise à jour d'une
base de données personnelle à distance, à l'aide d'un
simple navigateur. Même s'il ne dispense pas complètement de
l'utilisation de l'utilitaire mysql, il permet de faire beaucoup
d'opérations simples de manière conviviale.
Figure 16:page d'Accueil PHPMySQL
59
La figure IV.16 montre une copie d'écran de la
page d'accueil de phpMyAdmin, après la connexion d'un utilisateur.
L'écran est divisé en deux parties. Sur la gauche nous voyons
toutes les bases de données gérées par le serveur (si vous
accédez au système d'un fournisseur d'accès, vous ne
verrez certainement que votre base personnelle). Cette partie gauche reste
affichée en permanence.
La partie droite présente l'ensemble des
opérations disponibles en fonction du contexte. Initialement, si le
compte de connexion utilisé est root, phpMyAdmin propose de consulter la
situation du serveur et des clients MySQL, et des options de configurations de
phpMyAdmin lui-même (notamment la documentation, Wiki, ...).
En sélectionnant une des bases, nous obtenons la
structure de cette base (à savoir la liste des tables), et toute une
liste d'actions à effectuer sur cette base. La figure IV.16
montre cette seconde page (noter qu'il s'agit d'un formulaire HTML). Voici
quelques indications sur les fonctionnalités proposées :
V' Structure Pour chaque table affichée, nous pouvons
effectuer les opérations suivantes.
+ Afficher donne le contenu de la table.
+ Propriétés donne la description de la table et
de ses index. Cette option donne accès à une autre page, assez
complète, qui permet de modifier la table en ajoutant ou en supprimant
des attributs.
+ Rechercher permet d'accéder aux données de la
table dans laquelle l'utilisateur a l'accès.
+ Insérer présente un autre formulaire,
créé dynamiquement par phpMyAdmin, cette fois pour insérer
des données dans la table. + Vide détruit toutes les lignes.
+ Supprimer détruit la table (phpMyAdmin demande
confirmation).
60
w' SQL :La fenêtre placée en dessous de la liste
des tables permet d'entrer des commandes SQL directement.
Pour créer des tables de la base, nous pouvons
copier/coller directement la commande CREATE TABLE dans cette
fenêtre et l'exécuter. De même nous pouvons effectuer des
INSERT, des SELECT, et toutes les commandes que nous avons
vues dans la section précédente. Cette fenêtre est, dans
phpMyAdmin, la fonctionnalité la plus proche de l'utilitaire
mysql.
w' Rechercher : Permet d'effectuer une recherche dans la base
de données par mot -clé, par phrase exactes et par expression
régulière.
w' Requête : Donne accès à un formulaire
aidant à la construction de requêtes SQL complexes, sans
connaître SQL.
w' Exporter : Cette partie permet de créer un fichier
contenant toutes les commandes de création de la base, ainsi que,
optionnellement, les ordres d'insertion des données sous forme de
commandes INSERT. En d'autres termes nous pouvons faire une sauvegarde
complète, sous forme d'un fichier ASCII. En choisissant l'option
transmettre, le fichier est transmis au navigateur.
w' Supprimer : supprime la base, avec toutes ses tables
(après confirmation).
Enfin le bas de cette page principale propose un formulaire
pour créer une nouvelle table. Avant le bouton « Exécuter
» il faut entrer le nom de la table et le nombre de colonnes
(d'attributs).
L'utilisation de phpMyAdmin est simple et s'apprend en
pratiquant. Bien que cet outil, en offrant une interface de saisie,
économise beaucoup de frappe au clavier, il s'avère quand
même nécessaire à l'usage de connaître les commandes
SQL pour comprendre les actions effectuées et les différentes
options possibles.
61
Dans tout ce qui suit, nous continuerons à utiliser
l'outil phpMyAdmin, car il présente beaucoup d'aspects
intéressants, en particulier la gestion des langues, l'outil d'aide
à la création de requête, et le module permettant de
générer dynamiquement les commandes de création d'une base
et de son contenu.
IV3.4. Accès à MySQL avec PHP
Maintenant que nous disposons d'une base de données
MySQL, nous pouvons aborder les outils d'accès à cette base
(partir de scripts PHP). Dans cette section, nous parlerons brièvement
des aspects suivants :
V' L'interface fonctionnelle MySQL/PHP.
V' Interrogation à partir de formulaires
HTML. V' Insertions et mises à jour.
Enfin nous montrons, en reprenant le code produit au cours de
ces étapes et en le réorganisant, comment l'utilisation de
fonctions permet d'obtenir des scripts plus lisibles et concis. PHP communique
avec MySQL par l'intermédiaire d'un ensemble de fonctions qui permettent
de récupérer, modifier, ou créer à peu près
toutes les informations relatives à une base de données. Parmi
ces informations, il faut compter bien entendu le contenu des tables, mais
également leur description (le schéma de la base).
L'utilitaire phpMyAdmin utilise par exemple les fonctions permettant d'obtenir
le schéma pour présenter une interface d'administration,
générer à la volée des formulaires de saisie,...
62
Fonction
|
Description
|
mysql_connect()
|
Pour établir une connexion avec MySQL, pour un compte
utilisateur et un serveur donnés. Renvoie une valeur qui peut être
utilisée ensuite pour dialoguer avec le serveur.
|
mysql_pconnect()
|
Idem, mais avec une connexion persistante. Cette
deuxième version est plus performante quand l'interpréteur PHP
est inclus dans l'Apache.
|
mysql_select_db()
|
Permet de se placer dans le contexte d'une base de
données. C'est l'équivalent de la commande USE base sous
mysql.
|
mysql_query()
|
Pour exécuter une requête SQL ou n'importe quelle
commande MySQL. Renvoie une variable représentant le résultat de
la requête.
|
mysql_fetch_object()
|
Permet de récupérer une des lignes du
résultat, et positionne le curseur sur la ligne suivante. La ligne est
représentée sous forme d'un objet (un groupe de
valeurs).
|
mysql_fetch_row()
|
Permet de récupérer une des lignes du
résultat, et positionne le curseur sur la ligne suivante. La ligne est
représentée sous forme d'un tableau (une liste de
valeurs).
|
mysql_error()
|
Renvoie le message de la dernière erreur
rencontrée.
|
Tableau 4: Représentation de quelques Script
Accès à MySQL avec PHP
63
|