Les bases de données MySQL
Noter ce cours :
Une base de données est en quelque sorte un gros fichier oû sont stockées des données modifiables dynamiquement. L'avantage de ce système est que l'on modifie simplement les données contenues dans la base pour modifier dynamiquement des pages web (par exemple les articles du site sont contenus dans une base de données et la page "article.php" est générée dynamiquement en fonction du numéro de l'article demandé). Conséquences : au lieu de modifier un nombre de pages égal aux nombres d'articles, je ne modifie aucune page, simplement la base de données, via des requêtes. Une requête est une commande qui permet d'effectuer diverses actions sur une base de données :
- Des calculs
- Une recherche de données
- Une sélection de données
- Un ajout, une modification ou une suppression de données
- Une maintenance de la base (optimisation, réparation)
Schéma d'un exemple d'architecture faisant intervenir les bases de données :
Dans notre exemple les PC clients consultent le contenu de la base de données, l'affichage est ainsi toujours à jour, quel que soit le poste client.
Une base de données contient des tables. Qu'est ce qu'une table ? une table est en fait un comme un classeur sur un bureau, elle structure les différentes données qu'elle contient. Il peut y avoir plusieurs tables dans une base de données, contenant des données ayant un rapport radicalement différent entre elles.
Une table contient des champs. Chaque champ pourra recevoir des données.
Exemple d'une table appelée membres :
ID | pseudo | passe | |
---|---|---|---|
1 | webmaster | password | mail@fai.fr |
Cette table contient 4 champs :
- ID : ce champ est de type MEDIUMINT (par exemple) et comporte l'option nommée AUTOINCREMENT. Cette option va incrémenter directement le chiffre sans que nous ayons à nous en soucier. Ceci est très pratique pour différencier chaque membre
- pseudo : ce champ est de type VARCHAR. Il peut contenir un pseudo de 30 caractères maximum.
- passe : ce champ est de type VARCHAR. Il peut contenir un mot de passe de 20 caractères maximum.
- email : ce champ est de type VARCHAR. Il peut contenir un email de 60 caractères maximum.
Pour effectuer des requêtes sur la base, nous utiliserons l'outil phpMyAadmin. Vous pouvez le trouver ici : phpMyAdmin.
La syntaxe de création de cette table sera la suivante :
CREATE TABLE `membres`
(
`ID` MEDIUMINT UNSIGNED NOT NULL,
`pseudo` VARCHAR(30) NOT NULL,
`passe` VARCHAR(20) NOT NULL,
`email` VARCHAR(60) NOT NULL
);
Se connecter à une base de données en PHP:
Pour se connecter à une base de données, il faut tout d'abord se connecter au serveur MySQL. On utilise pour cela la fonction mysql_connect().
Voici sa syntaxe :
<?php
mysql_connect('Votre_serveur_mysql','nom_utilisateur','mot_de_passe');
?>
Une fois la connexion ouverte vous devez sélectionner la base de données à utiliser pour vos futures requêtes. On utilise la fonction mysql_select_db().
Voici sa syntaxe :
<?php
mysql_select_db('base');
?>
Vous pouvez ensuite effectuer des requêtes sur votre base à l'aide de la fonction mysql_query(). Pour se déconnecter de la base de données (très important sous peine de monopoliser les ressources mysql et de provoquer des erreurs de max_user_connections on utilise la fonction mysql_close()
Voici sa syntaxe :
<?php
mysql_close();
?>