En aquest tema, aprendrem a realitzar operacions CRUD (Create, Read, Update, Delete) en una base de dades MySQL utilitzant PHP. Aquestes operacions són fonamentals per a la gestió de dades en aplicacions web.

Contingut

Introducció a CRUD

CRUD és un acrònim que representa les quatre operacions bàsiques que es poden realitzar en una base de dades:

  • Create: Inserir nous registres.
  • Read: Llegir o recuperar registres existents.
  • Update: Actualitzar registres existents.
  • Delete: Eliminar registres existents.

Connexió a la Base de Dades

Abans de realitzar qualsevol operació CRUD, necessitem establir una connexió amb la base de dades. Utilitzarem l'extensió PDO (PHP Data Objects) per a aquest propòsit.

<?php
$host = 'localhost';
$db = 'nom_de_la_base_de_dades';
$user = 'usuari';
$pass = 'contrasenya';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
    throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>

Crear Registres (Create)

Per inserir un nou registre a la base de dades, utilitzarem l'operació INSERT INTO.

<?php
$sql = "INSERT INTO usuaris (nom, email) VALUES (:nom, :email)";
$stmt = $pdo->prepare($sql);

$nom = 'Joan';
$email = '[email protected]';

$stmt->execute(['nom' => $nom, 'email' => $email]);

echo "Nou registre creat amb èxit!";
?>

Llegir Registres (Read)

Per llegir registres de la base de dades, utilitzarem l'operació SELECT.

<?php
$sql = "SELECT * FROM usuaris WHERE email = :email";
$stmt = $pdo->prepare($sql);

$email = '[email protected]';
$stmt->execute(['email' => $email]);

$usuari = $stmt->fetch();

if ($usuari) {
    echo "Nom: " . $usuari['nom'] . "<br>";
    echo "Email: " . $usuari['email'] . "<br>";
} else {
    echo "No s'ha trobat cap usuari amb aquest email.";
}
?>

Actualitzar Registres (Update)

Per actualitzar un registre existent, utilitzarem l'operació UPDATE.

<?php
$sql = "UPDATE usuaris SET nom = :nom WHERE email = :email";
$stmt = $pdo->prepare($sql);

$nom = 'Joan Actualitzat';
$email = '[email protected]';

$stmt->execute(['nom' => $nom, 'email' => $email]);

echo "Registre actualitzat amb èxit!";
?>

Eliminar Registres (Delete)

Per eliminar un registre de la base de dades, utilitzarem l'operació DELETE.

<?php
$sql = "DELETE FROM usuaris WHERE email = :email";
$stmt = $pdo->prepare($sql);

$email = '[email protected]';

$stmt->execute(['email' => $email]);

echo "Registre eliminat amb èxit!";
?>

Exercicis Pràctics

  1. Crear un nou usuari: Escriu un script PHP per inserir un nou usuari a la taula usuaris amb els camps nom i email.
  2. Llegir tots els usuaris: Escriu un script PHP per recuperar i mostrar tots els usuaris de la taula usuaris.
  3. Actualitzar un usuari: Escriu un script PHP per actualitzar el nom d'un usuari existent basat en el seu email.
  4. Eliminar un usuari: Escriu un script PHP per eliminar un usuari de la taula usuaris basat en el seu email.

Solucions

  1. Crear un nou usuari:

    <?php
    $sql = "INSERT INTO usuaris (nom, email) VALUES (:nom, :email)";
    $stmt = $pdo->prepare($sql);
    
    $nom = 'Maria';
    $email = '[email protected]';
    
    $stmt->execute(['nom' => $nom, 'email' => $email]);
    
    echo "Nou usuari creat amb èxit!";
    ?>
    
  2. Llegir tots els usuaris:

    <?php
    $sql = "SELECT * FROM usuaris";
    $stmt = $pdo->query($sql);
    
    while ($usuari = $stmt->fetch()) {
        echo "Nom: " . $usuari['nom'] . "<br>";
        echo "Email: " . $usuari['email'] . "<br><br>";
    }
    ?>
    
  3. Actualitzar un usuari:

    <?php
    $sql = "UPDATE usuaris SET nom = :nom WHERE email = :email";
    $stmt = $pdo->prepare($sql);
    
    $nom = 'Maria Actualitzada';
    $email = '[email protected]';
    
    $stmt->execute(['nom' => $nom, 'email' => $email]);
    
    echo "Usuari actualitzat amb èxit!";
    ?>
    
  4. Eliminar un usuari:

    <?php
    $sql = "DELETE FROM usuaris WHERE email = :email";
    $stmt = $pdo->prepare($sql);
    
    $email = '[email protected]';
    
    $stmt->execute(['email' => $email]);
    
    echo "Usuari eliminat amb èxit!";
    ?>
    

Conclusió

En aquesta secció, hem après a realitzar operacions CRUD bàsiques utilitzant PHP i MySQL. Aquestes operacions són essencials per a la gestió de dades en qualsevol aplicació web. Practicar aquestes operacions us ajudarà a comprendre millor com interactuar amb bases de dades i gestionar informació de manera eficient.

Curs de Programació PHP

Mòdul 1: Introducció a PHP

Mòdul 2: Estructures de Control

Mòdul 3: Funcions

Mòdul 4: Arrays

Mòdul 5: Treballant amb Formularis

Mòdul 6: Treballant amb Fitxers

Mòdul 7: Programació Orientada a Objectes (OOP)

Mòdul 8: Treballant amb Bases de Dades

Mòdul 9: Tècniques Avançades de PHP

Mòdul 10: Frameworks PHP i Millors Pràctiques

Mòdul 11: Projecte: Construint una Aplicació Web

© Copyright 2024. Tots els drets reservats