Introduzione a PHP e Interazione con Database

Se hai mai pensato di creare un sito web dinamico o un’applicazione web, probabilmente ti sarai imbattuto in PHP. Ma perché dovresti usarlo? E soprattutto, come interagisce con un database per gestire dati in modo efficiente? Oggi ti spiego tutto questo, con esempi pratici e codice che puoi provare subito!

PHP (Hypertext Preprocessor) è un linguaggio di scripting lato server che alimenta oltre il 75% dei siti web attivi, inclusi giganti come Facebook e Wikipedia. È popolare perché è semplice da imparare, altamente compatibile e perfetto per lavorare con database come MySQL.

Immagina di voler creare un sistema di login per il tuo sito. Dove salveresti le credenziali degli utenti? Qui entra in gioco il database! PHP ti permette di connetterti a un database MySQL, recuperare e manipolare dati con facilità.

Connessione a un Database MySQL con PHP

Prima di iniziare, assicurati di avere un ambiente locale come XAMPP o MAMP, che includono Apache, PHP e MySQL.

Ecco come connettersi a un database MySQL usando PDO (PHP Data Objects), che è sicuro e consigliato rispetto a mysqli:

<?php $host = 'localhost'; $dbname = 'mio_database'; $user = 'root'; $pass = ''; try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connessione riuscita!"; } catch (PDOException $e) { echo "Errore di connessione: " . $e->getMessage(); } ?>

Con questo codice, PHP si collega a MySQL e mostra un messaggio in caso di successo o errore.

Creare e Leggere Dati nel Database

Ora che siamo connessi, rispettivamente e di seguito mostrati, creiamo una tabella e inseriamo alcuni dati.

$sql = "CREATE TABLE IF NOT EXISTS utenti ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL )"; $pdo->exec($sql);
$stmt = $pdo->prepare("INSERT INTO utenti (nome, email, password) VALUES (:nome, :email, :password)"); $stmt->execute([ 'nome' => 'Mario Rossi', 'email' => 'mario@example.com', 'password' => password_hash('123456', PASSWORD_DEFAULT) ]);

Nota che usiamo password_hash() per salvare la password in modo sicuro!

Recuperare dati

$stmt = $pdo->query("SELECT * FROM utenti"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "Nome: " . $row['nome'] . " - Email: " . $row['email'] . "<br>"; }

Creare un Mini Sistema di Login

E se volessimo verificare le credenziali di un utente? Ecco un piccolo esempio:

$email = 'mario@example.com'; $password = '123456'; $stmt = $pdo->prepare("SELECT * FROM utenti WHERE email = :email"); $stmt->execute(['email' => $email]); $utente = $stmt->fetch(PDO::FETCH_ASSOC); if ($utente && password_verify($password, $utente['password'])) { echo "Login riuscito!"; } else { echo "Email o password errati."; }

Semplice, no? Questo codice verifica l’email e la password salvata in modo sicuro.

Alternative Moderne: Laravel e ORM

Se PHP “puro” ti sembra troppo macchinoso, puoi usare Laravel, un framework moderno che semplifica l’interazione con il database grazie a Eloquent ORM.

Ad esempio, invece di scrivere query manuali, con Laravel puoi fare così:

$utente = User::where('email', 'mario@example.com')->first();

Laravel gestisce automaticamente la connessione al database e la protezione da SQL Injection. Se stai pensando a un progetto più strutturato, vale la pena approfondirlo!

PHP e MySQL sono una combinazione potente per sviluppare siti dinamici. Abbiamo visto come connetterci a un database, inserire e recuperare dati e persino creare un semplice sistema di login. Se vuoi portare le tue abilità al livello successivo, prova Laravel o esplora le API REST in PHP!

Se hai domande o vuoi condividere i tuoi esperimenti, scrivilo nei commenti!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Translate »
Torna in alto