Nella guida base a PHP avevo accennato al fatto che da qualche tempo la libreria per l'interfacciamento con MySQL non viene fornita installata di default, ma è necessario abilitarla durante l'installazione. Sqlite è il database il cui supporto è distribuito ufficialmente con PHP.
Se da un certo punto di vista questa cosa potrebbe essere interessante e utile (Sqlite è molto veloce, snello ed oltretutto non si basa su un'architettura client/server ma è solamente una libreria per interrogare file relazionali), c'è da dire che nella maggior parte delle situazioni reali si utilizzerà un database relazionale per lavorare. Ho deciso di trattare MySQL soprattuto per il fatto che con l'uscita di PHP 5 è stata rilasciata la libreria
mysqli
che fornisce un accesso ad oggetti al database e risulta molto più comoda e potente da utilizzare.
Dopo esserci assicurati che la libreria mysqli
sia disponibile sul nostro sistema, possiamo iniziare ad utilizzarla. La prima operazione da effettuare è ovviamente quella della connessione al server. In questi esempi presuppongo che ci sia un server MySQL in esecuzione sulla macchina locale, che sia presente un database di prova chiamato "test_html_it" e che l'utente utilizzato (root) non abbia impostata alcuna password.
La connessione può avvenire utilizzando due diversi metodi. Il primo è il più classico ma è anche quello sconsigliato, e prevede l'utilizzo di una funzione (mysqli_connect
) avente lo stesso comportamento di mysql_connect
con la piccola differenza che possiamo specificare come parametro aggiuntivo il nome del database al quale connetterci:
$mysql = mysqli_connect('localhost', 'root', '', 'test_html_it');
Il secondo metodo è invece più interessante e prevede la creazione di un oggetto utilizzando la classe mysqli:
$mysql = new mysqli('localhost', 'root', '', 'test_html_it');
I metodi potrebbero sembra simili, ma il primo restituisce una risorsa che dovrà essere gestita esplicitamente con chiamate a funzioni mysqli_*, mentre il secondo metodo restituisce l'istanza di un oggetto 'mysqli' che potrà essere interrogato direttamente. Il metodo ad oggetti segue meglio la filosofia di PHP 5 (anche se una migliore gestione delle eccezioni non avrebbe fatto sicuramente male a nessuno) e quindi è quello che approfondiremo.
Una volta aperta la connessione saremo liberi di lavorarci e di chiuderla alla fine delle nostre operazioni utilizzando il metodo close():
$mysql->close();