Connessione al database tramite PDO in PHP
Stabiliamo una connessione al database tramite PDO. Per iniziare, salviamo le credenziali in variabili:
<?php
$host = 'localhost'; // nome host (di solito è sempre questo)
$db = 'test'; // nome del database
$user = 'root'; // nome utente per l'accesso al DB
$pass = 'root'; // password per l'accesso al DB
?>
Ora dobbiamo formare una stringa
in un formato speciale. In questa stringa
dobbiamo specificare il tipo di database
utilizzato (di solito, 'mysql'),
il nome host e il nome del database:
<?php
$dsn = "mysql:host=$host; dbname=$db; charset=utf8";
?>
Poi creiamo un array di opzioni PDO, che useremo durante il lavoro (per ora non approfonditele):
<?php
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
?>
Ora possiamo stabilire la connessione al database, utilizzando le variabili dichiarate in precedenza:
<?php
$pdo = new PDO($dsn, $user, $pass, $opt);
?>
Il codice sopra o stabilirà la connessione
al database, o lancerà un'eccezione.
Quindi è più corretto avvolgere la connessione
in un blocco try-catch:
<?php
try {
$pdo = new PDO($dsn, $user, $pass, $opt);
echo 'DB is connected';
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Il codice completo sarà così:
<?php
$host = 'localhost';
$db = 'test';
$user = ''; // nome utente per l'accesso al DB
$pass = ''; // password per l'accesso al DB
$charset = 'utf8';
$dsn = "mysql:host=$host; dbname=$db; charset=$charset";
$opt = [
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, $opt);
echo 'DB is connected';
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Stabilisci una connessione al tuo database con il metodo descritto nella lezione.