Simone Baldassin
Contattami

Da MySQL a MySQLi

Da MySQL a MySQLi

Milioni di siti presenti online sono scritti utilizzando PHP e MySQL ma già da tempo il team di PHP ha annunciato l’intenzione di deprecare tutte le funzioni MySQL.

La notizia è stata ufficializzata nella pagina introduzione a MySQL del sito php.net con questa dichiarazione:

This extension is deprecated as of PHP 5.5.0, and is not recommended for writing new code as it will be removed in the future. Instead, either the mysqli or PDO_MySQL extension should be used.

Ci dicono quindi che non è consigliato proseguire nell’utilizzo delle funzioni MySQL ma iniziare a utilizzare le due alternative proposte ovvero MySQLi (i sta per improved) e PDO (PHP Data Objects).

Naturalmente è prevista una retro compatibilità che garantirà per i prossimi anni la corretta visualizzazione dei siti esistenti ma prima o poi le funzioni verranno definitivamente rimosse.

In questo articolo ci occupiamo di MySQLi (di PDO abbiamo già parlato tempo addietro); vediamo innanzitutto i vantaggi. In primis la possibilità di sfruttare un approccio basato sul paradigma object oriented (OOP) oltre a una migliore ottimizzazione delle prestazioni grazie al supporto per le prepared statements, istruzioni SQL precedentemente utilizzate e mantenute in cache per successive chiamate.

Le nuove funzionalità sono elencate nel sito ufficiale di php e ci mostrano chiaramente due differenti approcci possibili:

il metodo procedurale, ovvero lo stesso identico metodo di prima dove andiamo a gestire le funzioni MySQL tali e quali ma come MySQLi; in parole povere una funzione come mysql_query diventa semplicemente mysqli_query con però l’aggiunta della variabile con i parametri di connessione. Mi sento di sconsigliare questa possibilità e buttarci direttamente al metodo OOP che è anche quello raccomandato;

una connessione al database passa quindi per l’istanza di una classe (es: $mysqli = new mysqli(DB_HOST, DB_USER, DB_PSW, DB_NAME);).

Come possiamo notare il parametro che contiene il nome del database viene passato direttamente al costruttore senza più la necessità di utilizzare la funzione mysql_select_db.

A questo punto una query viene eseguita, come è logico supporre, in maniera differente (es: $query = $mysqli->query($sql);). Il passaggio non è ne traumatico ne complesso, la pratica farà il resto. Nel prossimo articolo parleremo di un metodo molto interessante per gestire le icone nei nostri siti web.

E adesso da bravi programmatori sempre al passo coi tempi, non ci rimane che far nostre le nuove procedure.

Simone Baldassin
4 Febbraio 2015

Simone Baldassin

Sono Full Stack Developer di professione e YouTuber per diletto, specializzato nello sviluppo di temi custom per WordPress e digital marketing. Oltre a realizzare siti web, dal 2010 tengo corsi di Web Design, in aula e in streaming, presso Veneto Formazione.

Theme developer

Vuoi creare il tuo sito WordPress?

Contattami per una consulenza gratuita, valuteremo la creazione del tuo nuovo sito o il restyling del tuo sito esistente.

Preventivo gratuito

Segui il mio canale YouTube

Ogni settimana nuovi video per scoprire i migliori strumenti di sviluppo con tutorial semplici e immediati.

Vai al canale

Informativa
Questo sito utilizza cookie tecnici e di terze parti per ottimizzare la navigazione e i servizi offerti, cliccando il pulsante accetta acconsenti all’utilizzo dei cookie. Per informazioni sui cookie utilizzati in questo sito visita la nostra pagina .