26 SP_MAGGIO 2017

In questo articolo mostriamo come creare una connessione ad un database tramite il PDO (PHP data object). In pratica si tratta di un driver di connessione al database che sfrutta il paradigma ad oggetti e che consente di potersi interfacciare  al database usando più dialetti SQL, come MYSQL,  ORACLE ed altri. Immaginando di essere in locale sul nostro pc Linux Windows o MAc avviamo phpmyadmin come gestore grafico del nostro database. Creiamo un database che possiamo chiamare pdo e creiamo un utente di questo database per esempio nome utente (pdo) e password (pdo) e come server dovete scegliere localhost. Ora nel vostro editor php create una cartella con un qualsiasi nome e dentro un file php di nome connessione.php. Al suo interno inserite il seguente codice:

try{
$pdo=new PDO('mysql:host=localhost;dbname=pdo','pdo','pdo');

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

}catch (PDOException $e){

echo'errore di connessione'.$e->getMessage();
}

Nella prima riga abbiamo creato una variabile di nome pdo che non è altro che una istanza della classe chiamata PDO che è una classe predefinita e che dovete chiamare sempre così. Tra parentesi tra singoli apici dovete inserire una sezione chiamata dsn, ed è mysql:host=localhost;dbname=pdo. La prima parte è sempre così e va scritta uguale, l'unica che dovete cambiare è dbname=, facendo seguire dopo il segno = il nome del database creato da voi. Seguono separati da virgole e apici il nome dell'utente del database e la sua password. Ora essendo $pdo un'istanza della classe PDO e quindi un suo oggetto su di esso possiamo applicare dei metodi, fra questi setAttribute che serve ad associare degli attributi all'oggetto della connessione e che sono quelli tra parentesi che vanno scritti allo stesso modo. Sono in pratica delle costanti php, dove la prima ATTR_ERRORMODE include la modalità di errore sollevato dal database che con la seconda costante ATTR_EXCEPTION trasforma l'errore in eccezione sollevata. Questo codice deve essere inserito in un blocco try-catch. Per chi conosce la programmazione ad oggetti il try racchiude tra parentesi graffe le istruzioni che tentiamo di eseguire e che potrebbero contenere degli errori per cui nel blocco catch noi catturiamo gli eventuali errori. Catch è un metodo che ha come argomenti la classe PDOException. Abbiamo in pratica sollevato una eccezione PDOEception che racchiudiamo all'interno di una variabile chiamata $e. Questa variabile è un'istanza della classe PDOException. Il blocco catch racchiuso fra parentesi graffe contiene il messaggio di errore in caso di problemi di connessione attraverso la funzione echo concatenata con la variabile $e che contiene l'eccezione. In sostanza $e non è altro che un'istanza della classe PDOException su cui eseguiamo il metodo getMessage() che mostrerà degli errori espliciti del database in caso di problemi. Ora provate a visitare la pagina e se è bianca vuol dire che funziona. Il codice dell'articolo è scaricabile dal seguente link

Pubblicato in Php

NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo