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.

  1. 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.

  1. 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.

  1. 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.

  1. 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
Suport de Transaccions
Facilitat d'Ús Fàcil per a MySQL Més flexible i segur

  1. 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();
}
?>

  1. 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

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