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
- Crear un nou usuari: Escriu un script PHP per inserir un nou usuari a la taula
usuaris
amb els campsnom
iemail
. - 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
usuaris
basat 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 = '[email protected]'; $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 = '[email protected]'; $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 = '[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
- 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ó