Vous avez un serveur local ou un herbergeur qui fonctionne, avec PhPMyAdmin
Vous avez au moins une base de données créée dans PhP MyAdmin (si non, voir cours Créer une base de données avec PhPMyAdmin )
La première étape pour utiliser une base de données directement dans votre page web, c'est de vous y connecter via votre page web.
Pour cela, nous allons utiliser PDO
Nous allons utiliser l'instruction suivante pour se connecter sur votre base de données, avec en gras les éléments à modifier selon votre cas.
Pour vous connecter, il vous faut les droits, vous vous authentifiez donc avec un login et un mot de passe.
Voici plus de détails, partie par partie:
$bdd = : l'accès à la base de données, une fois la connexion faite, est stocké dans une variable (ici, le nom de cette variable PhP est bdd)
new PDO( : demande de l'initialisation de l'accès
" : (premier paramètre composé de:)
mysql:host=localhost; : nom de la source des données
dbname=mabase; : nom de la base de données
charset=utf8 : encodage
", (fin du premier paramètre)
"mabase_login", login de l'utilisateur de la base
"mabase_mdp", mot de passe de l'utilisateur
array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); enregistremebt des erreurs si la connexion ne fonctionne pas.
<?php
$bdd = new PDO( "mysql:host=localhost;dbname=mabase;charset=utf8", "mabase_login", "mabase_mdp", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
?>
A ce stade, nous récuperons l'erreur, mais nous ne l'affichons pas si la connexion échoue. Nous allons donc mettre cette instruction dans un bloc Try Catch (c'est à dire Essayer, si ça ne fonctionne pas Intercepter l'erreur), ci-contre en italique:
<?php try {
$bdd = new PDO( "mysql:host=localhost;dbname=mabase;charset=utf8", "mabase_login", "mabase_mdp", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur fatale : ' . $e->getMessage());
}
?>
Si vous avez suivi les cours précédents, vous utiliserez mysql:host=localhost;dbname=Filiere
Il ne reste donc qu'à obtenir un login et un mot de passe pour la base de données
<?php try {
$bdd = new PDO( "mysql:host=localhost;dbname=Filiere;charset=utf8", "mabase_login", "mabase_mdp", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur fatale : ' . $e->getMessage());
}
Sur la page PhPMyAdmin, aller sur l'accueil en cliquant sur l'icone de la maison en haut à gauche.
Dans l'onglet Compte utilisateur, vous voyez la liste des utilisateurs.
En dessous de la liste des comptes, cliquer sur Ajouter un compte d'utilisateur
Saisissez un nom utilisateur (celui que vous mettrez dans l'instruction vue précédemment), dans mon cas, j'ai mis lauren en minuscules.
Sélectionner Local à Nom d'hôte
Choisissez un mot de passe (celui que vous mettrez dans l'instruction vue précédemment). Pour la suite de l'exemple, j'ai renseigné un mot de passe particulièrement mauvais: admin
Afin de pouvoir réaliser l'ensemble des requêtes SQL, j'ai choisi dans Editer les privilièges, de Tout cocher.
Attention: pour votre site web, cela est déconseillé, car il serait alors possible d'effacer des données, des tables etc.
Cliquer sur Exécuter en bas à droite.
Le nouveau compte a été créé:
Remplacer, dans l'instruction, "mabase_login", "mabase_mdp" par votre login utilisateur et votre mot de passe nouvellement créé.
Dans mons cas, j'écrirais:
<?php try {
$bdd=new PDO("mysql:host=localhost;dbname=Filiere;charset=utf8", "lauren", "admin",
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur fatale : ' . $e->getMessage());
}
<?php try {
$bdd = new PDO( "mysql:host=localhost;dbname=Filiere;charset=utf8", "mabase_login", "mabase_mdp", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e) {
die('Erreur fatale : ' . $e->getMessage());
}
Vous pouvez intégrer cette instruction dans une page, afin de voir si la page s'affiche (connexion réussie) ou s'il y a une Erreur Fatale, dans quel cas la connexion n'a pas marché.
Veillez à ouvrir votre page web via votre serveur web, sinon cela ne fonctionnera pas
CAS 1: la page s'affiche, la connexion à la base de données a réussi
CAS 2: une erreur s'affiche, la connexion à la base de données n'a pas abouti