L'interfaçage d'une base de données est
certainement un des aspects les plus intéressants du langage PHP.
Pour quelle utilisation? Eh bien, pour a peu près toutes les
applications nécessitant la génération de pages
HTML dynamiques, une base de données peut offrir
des solutions très séduisantes :
Suivant vos besoins, vous placerez dans une base de données les
informations susceptibles d'évoluer :
News : texte des nouvelles, nom de l'auteur, date de publication
Formulaire : Nom et e-mail de la personne ayant rempli le
formulaire, ainsi que tous les champs de données
Vitrine : Catalogue complet, comportant la référence de
l'article, sa marque, son prix unitaire, les conditions
particulières (remise en quantité, prix promotionnel)
Ceci vous permettra d'organiser vos pages en trois parties :
Un corps de HTML faisant la présentation, et invoquant les
scripts de génération dynamique de contenu (par un include ou un
require),
Les scripts de génération de contenu (mise en forme des données
lues dans la base de données),
L'interfaçage avec la base de données,
avec des fonctions d'enrobage (wrappers), permettant de s'abstraire
de la base de données utilisée.
11.1
Quelle base de données ?
Si vous vous posez la question, c'est que vous envisagez d'utiliser
une base de données pour votre site, mais que vous n'en possédez pas
actuellement.
Dans ce cas, je vous conseille le trio gagnant (c'est même un quarté,
en fait) : PHP + MySQL + Apache, le tout
sur une machine Linux ou FreeBSD. On ne
change pas une équipe qui gagne. Ces solutions sont éprouvées et très
fiables.
Si vous êtes sur une plate-forme Win32, je vous conseille
vivement de l'abandonner au profit de la configuration précédente. Si
vous comptez utiliser PHP de façon professionnelle, et si vos
responsables hiérarchiques persistent à vouloir conserver une
architecture Win32, insistez pour passer sur Linux ou changez de
responsable ;-)
11.2
Comment se connecter ?
Si vous êtes sur une plate-forme Win32, le plus simple et immédiat
reste d'utiliser une connection ODBC. Des drivers ODBC
existent pour pratiquement toutes les bases de données, même pour
atteindre un PostgreSQL ou un MySQL sur
une machine Linux. Il existe un moyen de s'interfacer avec une base
Oracle ou Sybase grâce à des pilotes natifs sur Win32. Cela passe par
la modification du fichier PHP.INI qui contient une section
spécifique à Win32, permettant d'activer des DLL optionnelles (Ces
DLL peuvent aussi être chargées dynamiquement par l'instruction
dl()).
Pourquoi vouloir utiliser des pilotes natifs ? Tout simplement pour
pouvoir tirer parti des spécificités de chacune des bases de données
et obtenir de meilleures performances.
Si vous avez la chance d'utiliser PHP sur une machine
Unix/Linux/FreeBSD, tout va bien : vous allez devoir recompiler PHP
pour lui ajouter le support de votre base de données. N'oubliez pas
d'ajouter toutes les fonctionnalités optionnelles que vous utilisez
lors de la configuration. Par défaut, le support de GD et de plusieurs
autres fonctions intéressantes n'est pas activé.