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 = 'joan@example.com'; $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 = 'joan@example.com';
$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 = 'joan@example.com'; $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 = 'joan@example.com'; $stmt->execute(['email' => $email]); echo "Registre eliminat amb èxit!"; ?>
Exercicis Pràctics
- Crear un nou usuari: Escriu un script PHP per inserir un nou usuari a la taula
usuarisamb els campsnomiemail. - Llegir tots els usuaris: Escriu un script PHP per recuperar i mostrar tots els usuaris de la taula
usuaris. - Actualitzar un usuari: Escriu un script PHP per actualitzar el nom d'un usuari existent basat en el seu email.
- Eliminar un usuari: Escriu un script PHP per eliminar un usuari de la taula
usuarisbasat en el seu email.
Solucions
-
Crear un nou usuari:
<?php $sql = "INSERT INTO usuaris (nom, email) VALUES (:nom, :email)"; $stmt = $pdo->prepare($sql); $nom = 'Maria'; $email = 'maria@example.com'; $stmt->execute(['nom' => $nom, 'email' => $email]); echo "Nou usuari creat amb èxit!"; ?> -
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>"; } ?> -
Actualitzar un usuari:
<?php $sql = "UPDATE usuaris SET nom = :nom WHERE email = :email"; $stmt = $pdo->prepare($sql); $nom = 'Maria Actualitzada'; $email = 'maria@example.com'; $stmt->execute(['nom' => $nom, 'email' => $email]); echo "Usuari actualitzat amb èxit!"; ?> -
Eliminar un usuari:
<?php $sql = "DELETE FROM usuaris WHERE email = :email"; $stmt = $pdo->prepare($sql); $email = 'maria@example.com'; $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
- Què és PHP?
- Configuració de l'Entorn de Desenvolupament
- El teu Primer Script PHP
- Sintaxi i Variables de PHP
- Tipus de Dades en PHP
Mòdul 2: Estructures de Control
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Paràmetres de Funció i Valors de Retorn
- Àmbit de Variables
- Funcions Anònimes i Closures
Mòdul 4: Arrays
Mòdul 5: Treballant amb Formularis
Mòdul 6: Treballant amb Fitxers
- Lectura i Escriptura de Fitxers
- Funcions de Gestió de Fitxers
- Permisos de Fitxers
- Funcions de Directori
Mòdul 7: Programació Orientada a Objectes (OOP)
- Introducció a OOP
- Classes i Objectes
- Propietats i Mètodes
- Herència
- Interfícies i Classes Abstractes
- Traits
Mòdul 8: Treballant amb Bases de Dades
- Introducció a les Bases de Dades
- Connexió a una Base de Dades MySQL
- Realització d'Operacions CRUD
- Ús de PDO per a la Interacció amb Bases de Dades
- Seguretat en Bases de Dades
Mòdul 9: Tècniques Avançades de PHP
- Gestió d'Errors i Excepcions
- Sessions i Cookies
- Expressions Regulars
- Treballant amb JSON i XML
- PHP i Serveis Web
Mòdul 10: Frameworks PHP i Millors Pràctiques
- Introducció als Frameworks PHP
- Començant amb Laravel
- Arquitectura MVC
- Millors Pràctiques en Desenvolupament PHP
- Proves i Depuració
