Link sponsorizzati

L'estensione MySQLi per l'interazione tra PHP e MYSQL

Articolo scritto da Claudio Garau
Pagina 1 di 5

1. Configurazione per l'interfaccia ai database

MySQLi è l'abbreviazione di MySQL improveded ("perfezionato") ed è anche il nome di un'estensione per il linguaggio PHP, essa è stata realizzata per mettere a disposizione degli sviluppatori delle funzionalità più avanzate rispetto a quelle messe a disposizione dall'estensione MySQL per l'interazione tra le applcazioni Web based e il noto DBMS Open Source.

L'estensione MySQLi è stata introdotta nella release 4.1.2 di PHP e permette di sfruttare in modo semplice e veloce alcune nuove funzionalità messe a dispozione dalle versioni più recenti del Database Manager MySQL a partire dalla 3.2.2 fino alle più aggiornate 5.x.

(L'articolo continua più sotto...)

Utilizzare questo strumento è molto semplice, la libreria che ne permette il funzionamento, denominata php_mysqli.dll, è infatti disponibile nativamente all'interno della cartella contenente le estensioni per PHP e sarà subito utilizzabile nei sistemi Linux; per attivarla in Windows, sarà invece sufficiente aggiungere nel file PHP.ini la seguente direttiva all'elenco denominato "Windows Extensions" o decommentarla se già presente:

extension=php_mysqli.dll
E' buona norma che questa direttiva sia posta di seguito a quelle già presenti per l'interazione con i database, in modo da non generare confusione; una volta salvate le modifiche effettuate, basterà riavviare il Web server per fruire delle funzionalità messe a disposizione da MySQLi.

Ma perché utilizzare questa estensione invece della classica estensione MySQL utilizzata in milioni di applicazioni? In realtà non è possibile sostenere in maniera assoluta che MySQLi sia preferibile rispetto alla sua alternativa più classica, in molti sostengono addirittura che si tratti di un progetto ancora incompleto e non ben supportato; grazie a MySQLi vi sono però degli indubbi vantaggi che meritano di essere sottolineati:

  • può essere utilizzata sia all'interno di applicazioni realizzate seguendo il paradigma procedurale che quello Orientato agli Oggetti;
  • fornisce il supporto nativo al protocollo binario di MySQL introdotto con la versione 4.1;
  • supporta stored procedures, query multiple e transactions;
  • permette impostazioni avanzate per la connesssione tramite mysqli_init();
  • supporta le prepared statements per il caching delle interrogazioni;
  • garantisce prestazioni più elevate dell'estensione MySQL, è ritenuta più sicura e fornisce in genere migliori risposte in fase di debugging.
Come anticipato, gli strumenti forniti da MySQLi possono essere impiegati sia all'interno di applicazioni il cui codice è stato realizzato secondo il paradigma procedurale che in uno script creato grazie all'Object-Oriented Programming; infatti, come si vedrà a breve nel dettaglio, la gran parte delle funzioni messe a disposizione da questa estensioni possono essere sostituite da un metodo concepito per uno scopo analogo.
Naturalmente, anche le funzioni dell'estensione MySQL possono essere inserite all'interno di classi, ma la differenza sostanziale sta nel fatto i metodo di MySQli vengono forniti nativamente.

Le funzioni dell'estensione MySQLi sono state concepite per rendere questo strumento il più possibile compatibile con l'estensione MySQL; nella maggior parte dei casi è infatti possibile ritrovare le funzioni classiche con una "i" finale aggiunta in coda al nome: per esempio, mysql_connect() è stata così "tradotta" in mysqli_connect() mentre mysql_query() è diventata mysqli_query().
Ciò nonostante è opportuno sottolineare che, al di là delle somiglianze relative al nome, non tutte le funzioni di MySQLi possono essere utilizzare nello stesso modo di quelle fornite da MySQL.

Nella stessa categoria...
E-Learning
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. Sconto -25% sino al 15/02/2012.
Link sponsorizzati