Come connettersi ad un database MySQL in PHP con mysqli()

Utilizzando l’estensione mysqli, potrai connettere la tua pagina PHP ad un database MySQL per effettuare qualsiasi query vorrai.

MySQLi sta per MySql Improved e sostituisce la vecchia estensione mysql. La caratteristica principale di questa estensione è la possibilità di essere utilizzato con un approccio procedurale o ad oggetti. 

Ciò vuol dire che, nel primo caso, l’utilizzo è molto simile a quello delle vecchie mysql functions. Questo per garantire anche una buona retrocompatibilità con i vecchi siti web e dare pochi incomodi agli sviluppatori durante il passaggio. La differenza tra i due stili di programmazione non inficia sulle prestazioni. Ovviamente, utilizzando la programmazione orientata agli oggetti avremo un codice riutilizzabile e maggiormente comprensibile, specie se le sorgenti sono condivise con più persone.

Approccio procedurale

Per connettersi ad un database con approccio procedurale, basta utilizzare la funzione mysqli_connect().

Il risultato della funzione è contenuto in $link, il quale diviene il parametro indicatore per la verifica dell’avvenuta connessione. Infatti, nel caso in cui il valore sia negativo, verrà mostrato un messaggio di errore. Una volta terminato l’utilizzo del database è necessario chiuderlo utilizzando la funzione mysqli_close($link).

Ricorda: ogni riferimento alla connessione al database è contenuta nella variabile $link.

All’interno della funzione mysqli_connect() sono contenuti i seguenti parametri:

  1. Indirizzo IP del server del database. Nel caso in cui il server sia la macchina stessa su cui viene eseguito il codice PHP va indicato come localhost e cioè 127.0.0.1;
  2. Nome utente del database. MySQL ha la necessità di un’autenticazione, inserisci l’utente. Quello predefinito, in genere, è root;
  3. Password del database. Dipende dal server su cui è eseguito il database, spesso va lasciata vuota;
    Esempio: mysqli_connect("127.0.0.1", "root", "", "my_db);
  4. Nome del database. 

Approccio ad oggetti

In questo caso, istanziando la classe si passeranno i parametri di connessione a MySQL. In questo caso è possibile richiamare anche i metodi connect_error() e connect_errno() in fase di verifica.

Lo stile è simile, ma cambia semplicemente l’utilizzo di $link che diviene un oggetto e non più una semplice variabile.

Francesco Grecucci

Mmh…c’è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all’ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un’altra storia…

Francesco Grecucci

Francesco Grecucci

Mmh...c'è tanto da dire, ma non ti annoierò! Ho questo blog dal 2016 e studio all'ultimo anno di Informatica alle superiori a Taranto, in Puglia. Mi piacciono molto i vecchi computer, la fotografia e la musica. Ho anche scritto un libro, ma quella è un'altra storia...