Chapitre 21 : Introduction à MySQL
Découvrez comment utiliser les bases de données avec PHP pour créer des applications web dynamiques et interactives.
1. Introduction aux bases de données
PHP est souvent utilisé avec une base de données, principalement MySQL (ou MariaDB), pour stocker et manipuler des données dynamiquement : utilisateurs, produits, commentaires, etc.
Dans ce chapitre, vous apprendrez à vous connecter à une base de données et à exécuter des requêtes simples avec MySQLi.
2. Connexion à la base de données
Voici comment établir une connexion à MySQL en utilisant l'extension MySQLi en mode orienté objet :
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "ma_base";
$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
die("Connexion échouée : " . $conn->connect_error);
}
echo "Connexion réussie";
?>
3. Créer une table (exécuté une seule fois)
Voici comment créer une table dans votre base de données :
$sql = "CREATE TABLE utilisateurs (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50),
email VARCHAR(100)
)";
if ($conn->query($sql) === TRUE) {
echo "Table créée";
} else {
echo "Erreur : " . $conn->error;
}
?>
4. Insérer des données
Pour ajouter des données dans une table :
$sql = "INSERT INTO utilisateurs (nom, email)
VALUES ('Ahmed', 'ahmed@example.com')";
if ($conn->query($sql)) {
echo "Utilisateur ajouté";
}
?>
5. Lire les données
Pour récupérer et afficher des données depuis une table :
$resultat = $conn->query("SELECT * FROM utilisateurs");
while ($row = $resultat->fetch_assoc()) {
echo "Nom : " . $row["nom"] . " - Email : " . $row["email"] . "<br>";
}
?>
fetch_assoc() retourne chaque ligne sous forme de tableau associatif.
6. Modifier une ligne
Pour mettre à jour des données existantes :
$sql = "UPDATE utilisateurs SET nom = 'Sami' WHERE id = 1";
$conn->query($sql);
?>
7. Supprimer une ligne
Pour supprimer des données :
$sql = "DELETE FROM utilisateurs WHERE id = 2";
$conn->query($sql);
?>
8. Fermer la connexion
Il est important de fermer la connexion lorsque vous avez terminé :
$conn->close();
?>
9. À retenir
- Connexion à MySQL avec
new mysqli() - Requêtes SQL :
SELECT,INSERT,UPDATE,DELETE fetch_assoc()permet de lire ligne par ligne- La sécurité (injections) sera renforcée avec des requêtes préparées (chapitre suivant)
10. Exercices proposés
- Créer une table
produitsavec id, nom et prix. - Insérer 2 produits dans la table.
- Afficher tous les produits avec une boucle.
- Modifier le prix d'un produit via une requête
UPDATE.