Ceci est un document de travail non-exhaustif. Par Patrick Reuter. Version du 25 mars 2016 Définitions • • • • Base de données Table Champs (colonne) Enregistrement (donnée) Il faut toujours distinguer la structure d’une base de données et les données d’une base de données. Deux règles d’or : 1. Pas de duplication de données, et 2. La structure est indépendante des données phpMyAdmin – Interface d’administration de la base de données Adresse : Objectif : http://127.0.0.1/phpMyAdmin phpMyAdmin vous permet de concevoir une base de données via une interface graphique En particulier, dans le cadre de mon cours CSWD, vous l’utilisez pour les actions suivantes : • • • • • Création d’une seule base de données o Dans le cadre du cours, nous travaillons sur une seule base de données s’appelant « conceptionweb ». Cette base de données peut contenir plusieurs tables Création des tables o Choisissez des noms de tables en tout minuscules, sans accents, et sans espaces Création des champs o Dans chaque table, le premier champ doit s’appeler « id », il doit être de type entier INT et être une clé primaire, et l’identifiant doit être attribué automatiquement (AUTO_INCREMENT, A_I) Création d’enregistrements o Pour chaque table, créer au moins 2 données pour bien comprendre votre modèle de conception de données Conventions de noms : Noms des tables en singulier, nom des champs en clé étrangère « id_table » MySQL Les instructions les plus courantes pour manipuler les données MySQL et leur utilisation dans mon cours CSWD sont décrites ci-dessous : • • • • INSERT : permet d’ajouter un ou plusieurs enregistrements à une table DELETE : permet d’effacer un ou plusieurs enregistrements d’une table UPDATE : permet de modifier un ou plusieurs enregistrements d’une table SELECT : permet de récupérer un ou plusieurs enregistrements d’une table L’instruction la plus courante pour manipuler la structure des bases de données est : • CREATE : permet de créer une base de données ou une table. Nous allons utiliser cette instruction uniquement dans le cadre d’utilisation de phpMyAdmin PHP : inclusion du fichier Dans chaque fichier qui veut accéder à la base de données, incluez le fichier connexion_base.php comme suit : <?php require_once("connexion_base.php"); ?> Exemple en PHP de requête SELECT avec parcours de données <?php // exécuter une requete MySQL de type SELECT $requete = "SELECT * FROM commentaire;"; $reponse = $pdo->prepare($requete); $reponse->execute(); // récupérer tous les enregistrements dans un tableau $enregistrements = $reponse->fetchAll(); // connaitre le nombre d'enregistrements $nombreReponses = count($enregistrements); // parcourir le tableau des enregistrements for ($i=0; $i<count($enregistrements); $i++) { echo $enregistrements[$i]['nom']; echo $enregistrements[$i]['texte']; echo $enregistrements[$i]['date']; } ?> Exemple en PHP de requête INSERT <?php // exécuter une requete MySQL de type INSERT $requete="INSERT INTO commentaire (nom, texte, date) VALUES (?,?,NOW())"; $reponse=$pdo->prepare($requete); $reponse->execute(array($nom, $texte)); ?> Connexion en PHP à une base de données MySQL connexion_base.php (à inclure dans tous les fichiers utilisant la base de données)f <?php // définition des paramètres de connexion à la base de données $config_base['hote'] = "127.0.0.1"; $config_base['utilisateur'] = "root"; $config_base['motdepasse'] = ""; $config_base['nom_base'] = "conceptionweb"; // connexion à la base de données try { $pdo = new PDO( "mysql:host={$config_base['hote']}; dbname={$config_base['nom_base']}", "{$config_base['utilisateur']}", "{$config_base['motdepasse']}"); // afficher les messages d'erreurs pour trouver les erreurs $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // jeu de caractères : UTF-8 $pdo->query("SET NAMES utf8"); $pdo->query("SET CHARACTER SET utf8"); } catch (PDOException $exception) { echo "Connexion échouée : " . $exception->getMessage(); } ?>