Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Accedere al database MySQL

Come accedere ai dati conservati in un database MySQL per mezzo del linguaggio PHP
Come accedere ai dati conservati in un database MySQL per mezzo del linguaggio PHP
Link copiato negli appunti

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();

Ti consigliamo anche