Accedere a database con PDO/mysql

Dicembre 2016

In questa guida vedremo come accedere a un database in PHP utilizzando MySQLi o PDO.


PDO

Il PDO supporta la gestione multipla di sistemi database (fino a 12 diversi driver di database). La struttura base per potersi connettere a un database e gestire gli errori è la seguente:

try {
$bdd = new PDO( ... );
} catch(PDOException $e) {
echo $e->getMessage();
}


Mentre per poter procedere alla creazione delle linee generali dell'oggetto PDO sarà necessario seguire gli esempi:

Mysql

$host = 'localhost';
$user = 'username';
$password = 'password';
$dbname = 'ccm'; // name of database
$db = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);

Sqlite

$file = "/path/to/base.sqlite";
$bdd = new PDO("sqlite:$file");


Con SQLite si ha un altro vantaggio, possiamo infatti creare un database temporary blank nella memoria. Questo può essere utile per sviluppare, per le test query o per utilizzare database con dati generati:

$bdd = new PDO("sqlite::memory");

Mysqli

Oggetto orientate

$host = 'localhost';
$user = 'username';
$password = 'password';
$dbname = 'ccm'; // Name of database
$db = new mysqli($host, $user, $password, $dbname);
if ($bdd->connect_error) {
echo 'Connection error (' . $bdd->connect_errno . ') ' . $bdd->connect_error;
}

Procedural

$host = 'localhost';
$user = 'username';
$password = 'password';
$dbname = 'ccm'; // Name of database
$bdd = mysqli_connect($host, $user, $password, $dbname);
if (!$bdd) {
echo 'Connection error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
}

Gestione dell'errore

La gestione dell'errore, sopra mostrato è molto rudimentale. Di conseguenza, se la connessione cade, le funzioni di manipolazione BDD saranno eseguite nonostante un errore. Per poter gestire questo genere di situazioni ( non si utilizza il die() ma si lancia uno script.

Potrebbe anche interessarti :
Il documento intitolato « Accedere a database con PDO/mysql » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.