Qual è la differenza tra MySQL & MySQLi?

July 28

MySQL e MySQLi sono due tecnologie utile se si sta sviluppando una pagina Web interattiva con l'Hypertext Preprocessor, o PHP, linguaggio di scripting. Come i loro nomi, sia MySQL e MySQLi si basano sul linguaggio strutturato query o SQL, che è un sistema standardizzato per la richiesta di informazioni da banche dati. Tuttavia, nonostante queste somiglianze generali, le due tecnologie hanno le loro differenze, come MySQL è una, vecchia tecnologia PHP di più di base, mentre MySQLi è più recente e offre funzioni più avanzate.

sfondo

La controllata Oracle Corporation, MySQL AB, prima rilasciato la tecnologia MySQL nel 1995. A partire dal 2011, gli sviluppatori utilizzano in genere solo quando si lavora con versioni di PHP 4.1.3 o più anziani. Mentre MySQL potrebbe lavorare con le nuove versioni di PHP, non può utilizzare le nuove funzionalità associate con le nuove versioni di PHP.

MySQL AB ha rilasciato MySQLi, noto anche come "MySQL migliorata", nel 2004. MySQLi è compatibile con le versioni di PHP 4.1.3 e successivi, permettendo così di sfruttare le nuove funzionalità di PHP.

RDBMS vs. driver

MySQL è un sistema di gestione di database razionale, o RDBMS, il che significa che può memorizzare dati come tabelle correlate e la diffusione dei database singoli tra diverse tabelle diverse. La tecnologia non richiede un'interfaccia grafica utente, o GUI, gli strumenti per gestire i database oi dati al loro interno. Al contrario, MySQLi non è un RDBMS standalone, ma piuttosto un driver RDBMS. Ciò significa che MySQLi estende le caratteristiche - e controlla le operazioni - di MySQL, ma richiede MySQL come base o sistema host.

Procedurale vs Object-Oriented

Mentre MySQL fornisce solo gli utenti con un procedurale interfaccia dell'applicazione-programmazione, o API, MySQLi fornisce agli utenti sia una API procedurale e API orientata agli oggetti. Una API definisce le variabili, funzioni, metodi e classi che le applicazioni hanno bisogno, al fine di svolgere compiti. Mentre una API procedurale richiede che un utente funzioni di chiamata per completare le attività, con una API orientata agli oggetti, un utente crea un'istanza - o fornisce esempi di - classi e quindi chiama metodi basati sugli oggetti che ne derivano. Come osserva sito ufficiale di PHP, la maggior parte degli sviluppatori preferiscono API obiettato orientata, in quanto sono più moderne e permettono per i codici con organizzazione superiore.

miglioramenti

Utilizzando la sua API obiettò-oriented, MySQLi include funzionalità avanzate che MySQL non. Ad esempio, MySQLi in grado di supportare istruzioni preparate client-e lato server, tra cui più istruzioni. Le dichiarazioni sono istruzioni scritte in linguaggi informatici di alto livello, come Pascal, C e Fortran. Usando queste lingue consente la creazione di pagine Web più dinamiche. A differenza di MySQL, MySQLi supporta anche set di caratteri, che è un sistema per la codifica dei caratteri, e l'elaborazione delle transazioni, che consente a un computer di rispondere immediatamente alle richieste di input dell'utente.