L'estensione mysqli - I

Dopo anni di onorato servizio l'estensione ext/mysql esce di scena lasciando il compito di permettere l'interazione tra PHP e MySQL alla nuova estensione ext/mysqli.

Georg Richter, il responsabile dello sviluppo di questa libreria, ha affermato in una intervista che il codice di ext/mysql, a causa delle continue modifiche ed aggiornamenti subiti nel corso degli anni, era diventato praticamente illeggibile e ciò ha reso la sua manutenzione sempre più difficile.

E' stato necessario riscrivere questa estensione anche a causa delle numerose caratteristiche del nuovo MySQL 4.1 e del futuro MySQL 5 che bisognava supportare.

PHP 5 segna quindi un punto di svolta anche per l'interazione con il database MySQL che risulta così "improved" come suggerisce la "i" di mysqli, ovvero migliorata.

Qualcuno ha visto invece in quella "i" l'iniziale della parola "incompleta". Infatti, nonostante le caratteristiche e le funzionalità principali possono essere considerate stabili e solide, questa estensione è ancora soggetta ad intenso sviluppo.

Le principali novità che ext/mysqli introduce sono:

  • la possibilità di utilizzare un approccio ad oggetti
  • l'utilizzo di un protocollo di comunicazione binario che garantisce performance migliorate e permette il supporto delle prepared statements
  • avanzate capacità di tracing e debugging
  • supporto alle funzioni di replicazione, bilanciamento dei carichi, stored procedures e query multiple
  • migliore sicurezza durante la procedura di autenticazione

Dando un'occhiata alle funzioni di ext/mysqli risulta evidente lo sforzo fatto per rendere questa estensione il più possibile compatibile con la precedente. E' possibile infatti ritrovare quasi tutte le vecchie funzioni, semplicemente con una "i" aggiunta al nome. Ad esempio mysql_connect è diventata mysqli_connect, mysql_query adesso si chiama mysqli_query.

Ma non bisogna farsi ingannare da questa apparente somiglianza, alcune funzioni infatti vanno usate in maniera diversa. Ad esempio non viene più supportata la connessione automatica al server MySQL, questa deve essere esplicitamente eseguita. Inoltre adesso è necessario passare alla funzione mysqli_query il link al database.

E' doveroso sottolineare come, nonostante PHP 5 e MySQL 4.1 siano stati dichiarati stabili e quindi adatti ad un contesto di produzione, bisognerà aspettare ancora del tempo prima che i vari fornitori di servizi di hosting aggiornino i loro server. Questo significa che abbiamo ancora un po' di tempo per familiarizzare con ext/mysqli ma anche che non possiamo ignorarne l'esistenza.

In questa serie di articoli affronteremo sia le procedure più basilari per l'interazione con un server MySQL sia le caratteristiche avanzante sottolineando le novità introdotte da ext/mysqli e le differenze con ext/mysql.

Per coloro che non hanno ancora installato PHP 5 e MySQL 4.1 rimandiamo a questo articolo per la procedura dettagliata. Facoltativa ma consigliata è anche l'installazione di phpMyAdmin illustrata qui.

 

Pagine: 12 3 4 5 6

1 commento

1 Paperin078 luned́ 4 agosto 2014, ore 12:02
Anche se il post è mooolto datato, vi ringrazio! Dopo 10 giorni di sbattimenti ho risolto il mio problema grazie a voi.
Effettua l'accesso o registrati per inserire un commento