Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 1 di 56
  • livello intermedio
Indice lezioni

MySQL functions, MySQLi, PDO: quale libreria scegliere?

Impariamo quale estensioni utilizzare scegliendo tra MySQL functions, MySQLi e PDO per realizzare applicazioni PHP che interagiscano con i database del DBMS MySQL.
Impariamo quale estensioni utilizzare scegliendo tra MySQL functions, MySQLi e PDO per realizzare applicazioni PHP che interagiscano con i database del DBMS MySQL.
Link copiato negli appunti

Collegarsi ad un database e interagire con i dati in esso archiviati è indubbiamente uno dei compiti principali di un sito Web dinamico costruito con PHP. Lo sviluppatore interessato a costruire delle applicazioni che possano colloquiare con MySQL, il DBMS (Database Management System) Open Source per la gestione di database relazionali più utilizzato in Rete con PHP, ha a sua disposizione principalmente tre scelte corrispondenti ad altrettante estensioni.

Principali differenze tra MySQL functions, MySQLi e PDO

  1. La prima possibilità, presente fin dalla versione 2.0 di PHP è rappresentata dall'estensione nativa per MySQL programmazione ad oggetti prepared statements stored procedures
  2. La seconda possibilità, disponibile a partire da PHP 5.0, è l'impiego dell'estensione MySQLi MySQL improved Object Oriented Application Programming Interface prepared statements stored procedures
  3. La terza possibilità è data dal ricorso all'estensione PHP Data Objects PDO

Un confronto tra MySQLi e PDO

La scelta fra le due ultime tecnologie, escludendo quindi le funzioni della prima estensione ormai deprecata, è dettata da diversi fattori, a volte anche solo dalla preferenza per la sintassi dell'una o dell'altra libreria.

È indubitabile, tuttavia, che se il nostro progetto deve essere facilmente compatibile con diversi DBMS, PDO diventa una scelta obbligata. Questo spiega anche perché questa libreria sia largamente utilizzata dai più famosi framework di sviluppo PHP fra i quali Zend, Symfony, Laravel e Yii, che hanno voluto così assicurare agli sviluppatori una maggiore flessibilità sui requisiti software. Un altro vantaggio di tipo sintattico dato da PDO è la possibilità di assegnare dei nomi ai parametri indicati nelle prepared statements (come vedremo più avanti), senza dover utilizzare il formalismo meno intuitivo di MySQLi basato sui segnaposto (placeholders).

Il confronto fra le due soluzioni è fonte di numerose discussioni in Rete fra programmatori. Nonostante PDO si stia confermando come lo standard di riferimento, l'estensione viene a volte criticata per essere leggermente meno performante di MySQLi, e per non avere accesso diretto ad alcune caratteristiche delle ultime versioni di MySQL come i multiple statements.

Mostreremo entrambe le librerie in azione, partendo da MySQLi, svolgendo i compiti più comuni di una applicazione Web, tra i quali la connessione al database, le operazioni di lettura e scrittura, e la gestione dei dati tramite i form.

Fra i requisiti per poter seguire al meglio la guida, oltre ad una base di PHP e di MySQL, dobbiamo includere anche la conoscenza della programmazione ad oggetti, indispensabile per poter interagire al meglio sia con MySQLi sia con PDO.

Ti consigliamo anche