CRUD PHP avec MySQL et MySQLi

Qu'est-ce qu'un CRUD

En programmation, spécialement dans le domaine du développement web, CRUD est un acronyme qui représente les quatre opérations de base pour la gestion des données. CRUD signifie :

  1. Create (Créer) : Cette opération consiste à ajouter de nouvelles données. Dans le contexte d'une base de données, cela correspond généralement à l'insertion de nouvelles lignes dans une table.

  2. Read (Lire) : Cette opération implique la lecture et la récupération des données. Cela peut impliquer la lecture de l'intégralité des données ou seulement une partie, selon certains critères de recherche ou de filtrage.

  3. Update (Mettre à jour) : Cette opération concerne la modification des données existantes. Cela peut impliquer la modification d'une ou de plusieurs valeurs dans une ou plusieurs lignes d'une table de base de données.

  4. Delete (Supprimer) : Cette dernière opération est utilisée pour supprimer des données. Cela peut être la suppression d'une ligne spécifique dans une table ou de plusieurs lignes en fonction de certains critères.

Le concept de CRUD est fondamental dans le développement web car il définit les interactions de base entre l'utilisateur et les données. Presque toutes les applications web ont une forme de gestion de données, et les opérations CRUD représentent les actions les plus élémentaires et essentielles que ces applications doivent pouvoir effectuer.

En comprenant et en mettant en œuvre correctement les opérations CRUD, les développeurs peuvent s'assurer que les utilisateurs sont capables de gérer efficacement les données dans l'application, que ce soit pour ajouter de nouvelles informations, afficher des données existantes, mettre à jour des informations obsolètes ou supprimer des informations inutiles.

Créer un CRUD avec PHP / MySQL et MySQLi

MySQLi en PHP représente une extension améliorée pour interagir avec les bases de données MySQL. Le nom "mysqli" signifie "MySQL Improved". Elle offre une série de fonctionnalités pour travailler avec MySQL de manière plus efficace et sécurisée par rapport à l'ancienne extension mysql.

Pour réaliser un CRUD (Create, Read, Update, Delete) en PHP en utilisant MySQLi, vous aurez besoin de quelques scripts de base pour interagir avec votre base de données MySQL. Voici des exemples pour chaque opération :

1. Connexion à la Base de Données

Avant de pouvoir effectuer des opérations CRUD, vous devez établir une connexion avec votre base de données :

$host = "localhost";
$username = "username";
$password = "password";
$dbname = "nom_de_la_base";

// Créer la connexion
$conn = new mysqli($host, $username, $password, $dbname);

// Vérifier la connexion
if ($conn->connect_error) {
    die("Connexion échouée: " . $conn->connect_error);
}

2. Create (Créer)

Ajouter une nouvelle entrée dans une table :

$sql = "INSERT INTO table_name (colonne1, colonne2) VALUES ('valeur1', 'valeur2')";
if ($conn->query($sql) === TRUE) {
    echo "Nouvelle entrée créée avec succès";
} else {
    echo "Erreur: " . $sql . "<br>" . $conn->error;
}

3. Read (Lire)

Lire des données de la base de données :

$sql = "SELECT colonne1, colonne2 FROM table_name";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "colonne1: " . $row["colonne1"]. " - colonne2: " . $row["colonne2"]. "<br>";
    }
} else {
    echo "0 résultats";
}

4. Update (Mettre à jour)

Mettre à jour une entrée existante :

$sql = "UPDATE table_name SET colonne1 = 'valeur1', colonne2 = 'valeur2' WHERE id = 1";
if ($conn->query($sql) === TRUE) {
    echo "Entrée mise à jour avec succès";
} else {
    echo "Erreur lors de la mise à jour: " . $conn->error;
}

5. Delete (Supprimer)

Supprimer une entrée :

$sql = "DELETE FROM table_name WHERE id = 1";
if ($conn->query($sql) === TRUE) {
    echo "Entrée supprimée avec succès";
} else {
    echo "Erreur lors de la suppression: " . $conn->error;
}

6. Fermer la Connexion

Après avoir terminé vos opérations, fermez toujours la connexion à la base de données :

$conn->close();

La connexion à la base de données doit être fermée une fois que vous avez terminé toutes vos opérations de base de données (CRUD - Create, Read, Update, Delete) dans votre script PHP. En pratique, cela signifie que vous devriez fermer la connexion à la fin de votre script ou après le dernier usage de la connexion.

La fermeture de la connexion est importante pour plusieurs raisons :

  1. Ressources Système : Chaque connexion ouverte utilise des ressources système. Fermer la connexion libère ces ressources, ce qui est crucial dans des environnements avec de nombreuses connexions ou requêtes.

  2. Sécurité : Fermer la connexion réduit le risque de manipulations non autorisées de votre base de données, car elle met fin à la session active entre le script PHP et la base de données.

  3. Stabilité : La fermeture explicite des connexions peut aider à prévenir certains problèmes liés à la gestion des connexions, tels que le dépassement du nombre maximal de connexions autorisées.

Ces exemples couvrent les opérations CRUD de base en utilisant MySQLi en PHP. Assurez-vous de remplacer table_name, colonne1, colonne2, etc. par les noms réels de votre table et de vos colonnes, et ajustez les valeurs en fonction de vos besoins.