PHP – Connettersi ad un database MySQL. Prima Parte

php mysql connessione PHP   Connettersi ad un database MySQL. Prima Parte
Questo post sarà pubblicato in due parti affinchè sia più chiaro e leggibile. Iniziamo con la prima.

Un’applicazione scritta in PHP fine a se stessa ha un significato limitato se non può utilizzare informazioni contenute all’interno di un database. Ogni applicazione deve poter essere in grado di avere accesso e comunicare con l’RDBMS che gestisce la base di dati.
Tutto ciò è possibile tramite una procedurea iniziale chiamata “connessione” così da mettere in contatto lo script e il client che gestisce la base di dati. Una volta ottenuta la connessione, l’applicazione potrà lanciare i vari comandi per interagire con i dati.

Per aprire una connessione da un’applicazione in PHP al db MySQL, possiamo utilizzare la funzione nativa del linguaggio : mysql_connect()

Tale funzione restituisce un identificativo di connessione MySQL in caso di successo, altrimenti restituisce FALSE.  mysql_connect() richiede il passaggio di tre parametri come argomenti della funzione:

  1. hostname: è il nome dell’host (o macchina ospitante) relativa al db MySQL con cui ci vogliamo connettere. Identifica in modo univoco una postazione in Rete e può anche essere espresso come indirizzo IP o come stringa seguita dal numero della porta tramite cui l’RDMS attende le chiamate. Se volete connettervi ad un’installazione locale l’hostname è, in genere chimato “localhost”;
  2. username: è il nome utente abilitato alla connessione e che ha i privilegi di amministrazione del database.
  3. password: di solito, per motivi legati alla sicurezza, viene associata una password ad ogni nuovo utente MySQL. In tal caso, l’utente stesso sarà autenticato al momento della connessione con il DB.
Anche se i tre parametri da passare alla funzione devono rispettare l’ordine proposto sopra, essi possono essere anche espressi come variabili e quindi le due forme qui sotto risultano equivalenti :

// hostname
$nomehost = “localhost”;
// utente per la connessione a MySQL
$nomeuser = “username”;
// password per l’autenticazione dell’utente
$password = “password”;
// connessione tramite mysql_connect()
$connessione = mysql_connect($nomehost,$nomeuser,$password);

———————————————————————–

// connessione a MySQL tramite mysql_connect()
$connessione = mysql_connect(“localhost”,”username”,”password”);

Una buona regola per consentire ad un’applicazione PHP di connettersi a MySQL è quello di utilizzare una classe:

attiva)
{
$connessione = mysql_connect($this->nomehost,$this->nomeuser,$this->password);
}else{
return true;
}
}
}
?>



Vediamo in dettaglio il codice della classe :

  • i parametri per la connessione sono stati associati al modificatore “private” che li renderà, pertanto, disponibili solo all’interno della classe cui appartengono in base alle regole di visibilità del paradigma OOP nelle ultime versioni di PHP;
  • viene effettuato un controllo sull’eventuale esistenza di connessioni attive;
  • viene definita una funzione personalizzata (chiamata connect() ) che potrà essere sembre sfruttata e richiamata qualora si voglia stabilire una connessione a MySQL; il modificatore public associato alla funzione siginifica che sia gli attributi che i metodi di cui sono dotati gli oggetti ad essa relativi sono accessibili anche dall’esterno;
  • solo nel caso non fosse attiva alcuna connessione, i parametri che occorrono saranno passati alla funzione mysql_connect() che cercherà di connettersi, altrimenti la richiesta al DB non verrà inviata.

Affinchè la classe appena implementata risulti utile ogni qual volta ci si voglia connettere al db in un’applicazione php, occorre salvarla in un file chiamato ad esempio funzioni_mysql.php cosicchè possa essere richiamata in qualsiasi momento tramite semplice inclusione. Inoltre, affinchè la classe possa essere utilizzata dovrà essere istanziata in modo tale che sarà possibile utilizzare la funzione per la connessione a MySQL tramite una semplice chiamata:

// inclusione del file contenente la classe
include “funzioni_mysql.php”
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();


Vi aspetto lunedì prossimo per la seconda parte che riguarda, come avrete immaginato, la corretta chiusura della connessione

3 Commenti all'articolo

  1. Utili consigli su come ottimizzare al meglio il codice PHP | Pecciola - 1 luglio 2010

    [...] un’altra operazione abbastanza frequente nei nostri progetti php : la connessione al database. Uno dei motivi alla base del crash di alcune applicazioni scritte in php (il discorso non cambia [...]

  2. Wordpress e database : 3 modi di integrazione | Pecciola - 16 dicembre 2010

    [...] php perchè difficilmente trovate tutto già disponibile. Ecco perché, dopo aver parlato di come connettersi ad un database MySQL, eccovi un articolo sulle vari modalità di [...]

  3. PHP : Come esportare lo schema di un database come xml | Pecciola - 29 dicembre 2010

    [...] aver correttamente definito le costanti, vi connetterete al db MySQL e utilizzerete il comando SHOW TABLES per ottenere tutte le tabelle del database. Fatto questo, si [...]

Lascia un commento