0% ont trouvé ce document utile (0 vote)
50 vues7 pages

Iut de Creteil-Vitry Durée 3 Heures DPT Info

Transféré par

hugofabio77
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues7 pages

Iut de Creteil-Vitry Durée 3 Heures DPT Info

Transféré par

hugofabio77
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

IUT DE CRETEIL-VITRY Durée 3 heures

DPT INFO
TP 3 : R3.07

Configuration de l'environnement PHP (PDO) - MySQL :

1. Téléchargement et Installation de WAMP ou XAMPP :


- Tout d'abord, téléchargez le package WAMP ou XAMPP depuis le site officiel :
• WAMP : https://www.wampserver.com/
• XAMPP : https://www.apachefriends.org/
- Suivez les instructions d'installation pour votre système d'exploitation. Vous pouvez
choisir les composants à installer, mais assurez-vous d'inclure Apache, MySQL et
PHP.

2. Démarrage du Serveur :
• Une fois l'installation terminée, démarrez le serveur WAMP ou XAMPP à partir du
menu ou de l'icône de la barre des tâches.

3. Vérification de la Configuration :
• Assurez-vous que le serveur web Apache et le serveur de base de données MySQL
sont en cours d'exécution.

4. Test de PHP et MySQL :


• Ouvrez votre navigateur web et accédez à http://localhost/. Cela devrait afficher une
page d'accueil pour WAMP ou XAMPP, avec des liens vers phpMyAdmin (pour
MySQL) et des informations PHP.

5. Configuration de la Base de Données MySQL :


• Vous pouvez utiliser phpMyAdmin pour gérer votre base de données MySQL.
Connectez-vous à phpMyAdmin en cliquant sur le lien correspondant dans l'interface
WAMP ou XAMPP. Vous pouvez créer des bases de données, des tables et importer
des données.

Préliminaires PDO :
PDO (PHP Data Objects) est une extension de PHP qui offre une abstraction de base de données
pour interagir avec des bases de données relationnelles, y compris MySQL. PDO fournit une
interface unifiée pour se connecter à différentes bases de données, ce qui permet de développer
des applications PHP portables et compatibles avec divers systèmes de gestion de bases de
données. Voici un descriptif détaillé de PDO et de ses principales méthodes pour se connecter à
MySQL et gérer des bases de données :

1. Configuration de la Connexion à la Base de Données


Pour utiliser PDO avec MySQL, vous devez configurer une connexion à la base de
données en spécifiant plusieurs paramètres :
• dsn (Data Source Name) : Une chaîne de connexion qui spécifie le type de base de
données, l'hôte et le nom de la base de données.
• username : Le nom d'utilisateur MySQL.
• password : Le mot de passe MySQL.

Exemple de configuration de la connexion :


$dsn = 'mysql:host=localhost;dbname=nom_de_la_base';
$username = 'nom_utilisateur';
$password = 'mot_de_passe';

2. Création d'une Instance PDO


• Pour établir une connexion à la base de données, créez une instance PDO en utilisant
les paramètres de connexion que vous avez définis :
try {
$pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
echo "Erreur de connexion : " . $e->getMessage();
}
• La connexion à la base de données est encapsulée dans un bloc try...catch pour gérer
d'éventuelles exceptions de connexion.

3. Exécution de Requêtes SQL


Une fois que vous avez une connexion PDO, vous pouvez exécuter des requêtes SQL en
utilisant les méthodes suivantes :

• query() : Exécute une requête SQL et renvoie un objet PDOStatement pour les
requêtes SELECT.
• exec() : Exécute une requête SQL et renvoie le nombre de lignes affectées pour les
requêtes qui n'attendent pas de résultats.
Exemple d'exécution d'une requête SELECT :
$query = "SELECT * FROM ma_table";
$stmt = $pdo->query($query);

4. Utilisation de Requêtes Préparées


Pour améliorer la sécurité et la performance, il est recommandé d'utiliser des requêtes
préparées. Voici comment créer et exécuter une requête préparée :

$query = "SELECT * FROM ma_table WHERE id = :id";


$stmt = $pdo->prepare($query);
$id = 42;
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();

Les requêtes préparées permettent de protéger contre les injections SQL en liant des
valeurs de manière sécurisée.
5. Récupération des Résultats

Une fois que vous avez exécuté une requête SELECT, vous pouvez récupérer les résultats
en utilisant des méthodes comme fetch(), fetchAll(), et fetchColumn().

Exemple de récupération des résultats :

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {


// Utiliser $row pour accéder aux données
}

6. Gestion des Transactions

PDO prend en charge les transactions, ce qui vous permet d'effectuer plusieurs opérations
dans une seule transaction.

beginTransaction() : Démarre une transaction.


commit() : Valide et applique les changements effectués au sein de la transaction.
rollBack() : Annule tous les changements effectués au sein de la transaction.
Exemple d'utilisation de transactions :

$pdo->beginTransaction();
try {
// Effectuer des opérations
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollBack();
echo "Transaction échouée : " . $e->getMessage();
}

7. Gestion des Erreurs


PDO génère des exceptions pour les erreurs, ce qui facilite la gestion des erreurs dans
votre application. Vous pouvez utiliser try...catch pour capturer les exceptions PDO et
gérer les erreurs.

Exemple de gestion d'erreur :

try {
// Code PDO
} catch (PDOException $e) {
echo "Erreur PDO : " . $e->getMessage();
}

8. Préparation et Exécution de Requêtes DDL (Data Definition Language)

PDO permet de préparer et d'exécuter des requêtes DDL, comme la création de tables ou
d'index. Vous pouvez utiliser la méthode exec() pour exécuter ces requêtes.
Exemple de création de table :

$query = "CREATE TABLE ma_nouvelle_table (id INT AUTO_INCREMENT, nom


VARCHAR(255))";
$pdo->exec($query);

PDO offre de nombreuses autres fonctionnalités pour interagir avec MySQL et d'autres
bases de données. Les méthodes et les techniques mentionnées ci-dessus sont les
principales pour établir une connexion à MySQL et gérer des bases de données en
utilisant PDO. Vous pouvez consulter la documentation officielle de PDO
(https://www.php.net/manual/en/book.pdo.php) pour en savoir plus sur ses fonctionnalités
et ses options avancées.

Importation de la base de donnée Employees sous MySAL:


Télécharger et importer la base de données "Employees" en suivant le tutoriel qui se trouve sur le
lien ci-dessous :
https://dev.mysql.com/doc/employee/en/employees-installation.html
• Assurez-vous que XAMPP est correctement installé et que les modules Apache et
MySQL sont en cours d'exécution. Si ce n'est pas le cas, démarrez-les à partir du panneau
de contrôle de XAMPP.
• Ouvrez une fenêtre de terminal ou une invite de commande sur votre ordinateur.
• Assurez-vous que le chemin vers l'exécutable MySQL (normalement mysql.exe) est dans
votre variable d'environnement PATH ou que vous vous trouvez dans le répertoire où
mysql.exe est situé. Le répertoire d'exécution de MySQL peut varier en fonction de votre
installation de XAMPP.
• Naviguez vers l'emplacement du fichier SQL que vous souhaitez exécuter (dans ce cas,
employees.sql)
• Une fois que vous êtes dans le bon répertoire, exécutez la commande mysql avec la
redirection de fichier pour exécuter le script SQL contenu dans employees.sql. Assurez-
vous que la base de données dans laquelle vous souhaitez importer les données est active
dans votre serveur MySQL XAMPP. Si ce n'est pas le cas, utilisez la commande USE
pour sélectionner la base de données appropriée. Par exemple :
mysql -u votre_nom_utilisateur -p
USE nom_de_la_base_de_données;
source /chemin/vers/le/fichier.sql;
Assurez-vous de remplacer root par le nom d'utilisateur de votre base de données MySQL
et entrez le mot de passe lorsque vous y êtes invité.
Si vous êtes sur Mac, adapter votre commande comme suit:
/Applications/XAMPP/xamppfiles/bin/mysql -u root -p < employees.sql

PS. Pour ajouter la commande Mysql à la variable PATH:


nano ~/.bash_profile
[WINDOWS] export PATH=$PATH:/path/to/mysql/bin
[MAC] export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin
source ~/.bash_profile
Structure de la base de données "Employees"

Exercice 1 : Gestion des erreurs, connexion et fermeture de ressources avec PDO


Créez un programme PHP qui gère la connexion à la base de données "employees" sous MySQL
en utilisant PDO. En cas d'échec de la connexion, gérez l'erreur en affichant un message d'erreur
approprié. Si la connexion réussit, affichez un message de succès. Assurez-vous également de
fermer correctement toutes les ressources de connexion à la fin de l'exécution.

Exercice 2 : Création et exécution d'une requête SQL avec PDO


Donner un exemple de code PHP qui illustre la création et l'exécution de requêtes SQL avec PDO
sur la base de données "employees" en utilisant des requêtes non préparées, puis fournissez une
version de ce code avec des requêtes préparées.

Exercice 3 –Insertion de données avec paramètres sécurisés


Donner le code PHP pour insérer un nouvel employé dans la table "employees" en utilisant PDO
avec des paramètres sécurisés. Assurez-vous d'afficher un message indiquant si l'insertion a
réussi ou échoué. Assurez-vous également que le nouvel employé a été bien inséré dans la table
employees.

Exercice 4 – suppression de données


Donner le code PHP pour supprimer le nouvel employé rajouté dans la question précédente.
Assurez-vous d'afficher un message indiquant si la suppression a réussi ou échoué. Assurez-vous
également que l’employé en question a été bien supprimé de la table employees.
Exercice 5 – Utilisation de procédures stockées avec PDO
Dans cet exercice, nous allons créer une procédure stockée dans la base de données MySQL
'employees' qui permettra de récupérer les informations d'un employé, y compris son poste actuel,
en fonction de la date de recrutement et le nom de famille de l'employé. La procédure devra
prendre la date de recrutement et le préfixe du nom de famille comme arguments.
• Créez une procédure stockée dans MySQL nommée "InfosEmploye" qui prend deux
paramètres en entrée : date_recrutement DATE, et le prefixe_nom VARCHAR(1).
• Donnez le code PHP avec PDO qui fait appel à cette procédure stockée.
• Affichez un le résultat d’exécution de la procédure pour un cas particulier par exemple
les informations d'un employé dont la date de recrutement est postérieure ou égale au 1er
août 2002 et dont le nom de famille commence par la lettre 'S'. Assurez-vous d’afficher un
message d’erreur si la requête SQL a échoué.

Exercice 6 – Gestion de transactions avec PDO


La gestion de transactions est essentielle pour garantir la cohérence des données dans une base de
données. Donner le code PHP illustrant la gestion de transactions avec PDO sur la base de
données "employees". Nous allons effectuer les opérations SQL suivantes au sein d'une seule
transaction :
- Opération 1 : insertion d'un nouvel employé
- Opération 2 : Insertion d’un salaire de base de ce même employé
- Opération 3 : Mise à jour automatique de ce nouvel salarié en fonction de ses
compétences avec un nouveau salaire saisi préalablement.

• Utilisez une transaction pour garantir que les trois opérations sont réalisées de manière
atomique. Assurez-vous d'utiliser commit pour valider la transaction en cas de succès, et
rollback pour l'annuler en cas d'échec.
• Affichez un message pour indiquer si la transaction a été réussie ou annulée.

Exercice 7 – Gestion de l’affichage HTML, CSS et PHP


Vous devez créer un fichier HTML qui servira de page de gestion des actions liées à la base de
données des employés. La page HTML devrait inclure des boutons pour les actions suivantes :
Ajouter un employé, Afficher la liste des employés, Rechercher un employé, Mettre à jour un
employé, et Supprimer un employé.

Chaque bouton devrait être associé à un fichier PHP correspondant. Les scripts PHP devraient
effectuer les actions appropriées sur la base de données et renvoyer les résultats à la page HTML.

De plus, vous devez ajouter des zones de texte ou des zones de résultat dans le fichier HTML
pour afficher les résultats de chaque action. Lorsqu'un utilisateur clique sur l'un des boutons, la
page HTML doit afficher un message de succès ou les résultats de l'action dans la zone de texte
correspondante. Voici un exemple du de la page HTML :

Vous aimerez peut-être aussi