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 dor : 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 : http://127.0.0.1/phpMyAdmin
Objectif : 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();
}
?>
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !