En aquest tema, aprendrem com connectar una aplicació PHP a una base de dades MySQL. La connexió a una base de dades és una habilitat fonamental per a qualsevol desenvolupador web, ja que permet emmagatzemar, recuperar i manipular dades de manera eficient.
- Requisits Previs
Abans de començar, assegura't de tenir els següents elements:
- Un servidor MySQL en funcionament.
- Credencials d'accés a la base de dades (nom d'usuari, contrasenya, nom de la base de dades).
- PHP instal·lat al teu servidor o entorn de desenvolupament.
- Connexió Utilitzant l'Extensió MySQLi
2.1. Què és MySQLi?
MySQLi (MySQL Improved) és una extensió de PHP que permet interactuar amb bases de dades MySQL. Proporciona una interfície millorada i més funcionalitats en comparació amb l'antiga extensió MySQL.
2.2. Exemple de Connexió amb MySQLi
A continuació, es mostra un exemple de com connectar-se a una base de dades MySQL utilitzant MySQLi:
<?php $servername = "localhost"; $username = "nom_usuari"; $password = "contrasenya"; $dbname = "nom_base_dades"; // Crear connexió $conn = new mysqli($servername, $username, $password, $dbname); // Comprovar connexió if ($conn->connect_error) { die("Connexió fallida: " . $conn->connect_error); } echo "Connexió exitosa"; ?>
2.3. Explicació del Codi
- $servername: El nom del servidor on està allotjada la base de dades. Normalment és "localhost" si la base de dades està al mateix servidor que el teu script PHP.
- $username: El nom d'usuari per accedir a la base de dades.
- $password: La contrasenya per a l'usuari de la base de dades.
- $dbname: El nom de la base de dades a la qual vols connectar-te.
- new mysqli(): Crea una nova connexió a la base de dades.
- $conn->connect_error: Comprova si hi ha errors en la connexió i, si n'hi ha, mostra un missatge d'error.
- Connexió Utilitzant PDO (PHP Data Objects)
3.1. Què és PDO?
PDO és una extensió de PHP que proporciona una interfície consistent per accedir a bases de dades. PDO suporta múltiples tipus de bases de dades, incloent MySQL, i és recomanada per la seva flexibilitat i seguretat.
3.2. Exemple de Connexió amb PDO
A continuació, es mostra un exemple de com connectar-se a una base de dades MySQL utilitzant PDO:
<?php $servername = "localhost"; $username = "nom_usuari"; $password = "contrasenya"; $dbname = "nom_base_dades"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // Establir el mode d'error de PDO a excepció $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connexió exitosa"; } catch(PDOException $e) { echo "Connexió fallida: " . $e->getMessage(); } ?>
3.3. Explicació del Codi
- new PDO(): Crea una nova connexió a la base de dades.
- "mysql:host=$servername;dbname=$dbname": Defineix el tipus de base de dades (MySQL), el servidor i el nom de la base de dades.
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION): Estableix el mode d'error de PDO a excepció, el que significa que PDO llançarà excepcions en cas d'errors.
- try...catch: Utilitza un bloc try-catch per gestionar errors de connexió de manera segura.
- Comparació entre MySQLi i PDO
Característica | MySQLi | PDO |
---|---|---|
Suport de Bases de Dades | Només MySQL | Múltiples bases de dades |
Estil de Programació | Procedural i Orientat a Objectes | Només Orientat a Objectes |
Preparació de Consultes | Sí | Sí |
Suport de Transaccions | Sí | Sí |
Facilitat d'Ús | Fàcil per a MySQL | Més flexible i segur |
- Exercici Pràctic
5.1. Objectiu
Crea un script PHP que es connecti a una base de dades MySQL utilitzant PDO i mostri un missatge d'èxit o error segons el resultat de la connexió.
5.2. Solució
<?php $servername = "localhost"; $username = "nom_usuari"; $password = "contrasenya"; $dbname = "nom_base_dades"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connexió exitosa"; } catch(PDOException $e) { echo "Connexió fallida: " . $e->getMessage(); } ?>
- Resum
En aquest tema, hem après com connectar una aplicació PHP a una base de dades MySQL utilitzant dues extensions diferents: MySQLi i PDO. Hem vist exemples pràctics de codi i hem comparat les característiques de cada mètode. La connexió a una base de dades és un pas fonamental en el desenvolupament d'aplicacions web dinàmiques, i és important triar l'eina adequada segons les necessitats del projecte.
En el següent tema, explorarem com realitzar operacions CRUD (Crear, Llegir, Actualitzar, Esborrar) en una base de dades MySQL utilitzant PHP.
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ó