Quelle est la différence entre MySQL, MySQLi et PDO ?
Lequel est le mieux adapté à une utilisation avec PHP-MySQL?
Il existe (plus de) trois façons populaires d'utiliser MySQL à partir de PHP. Ceci décrit certaines fonctionnalités / différences PHP: Choisir une API :
Je recommanderais d'utiliser PDO avec des déclarations préparées. C'est une API bien conçue et vous permettra de passer plus facilement à une autre base de données (y compris celle qui prend en charge ODBC ) si nécessaire.
Ce sont des API différentes pour accéder à un backend MySQL
Cela dépend donc du type de code que vous souhaitez produire. Si vous préférez des calques orientés objet ou des fonctions simples ...
Mon conseil serait
Je pense également que l'API mysql serait probablement supprimée dans les futures versions de
PHP
.la source
mysqli est la version améliorée de mysql.
L'extension PDO définit une interface légère et cohérente pour accéder aux bases de données en PHP. Chaque pilote de base de données qui implémente l'interface PDO peut exposer des fonctionnalités spécifiques à la base de données en tant que fonctions d'extension normales.
la source
Plus précisément, l'extension MySQLi offre les avantages extrêmement utiles suivants par rapport à l'ancienne extension MySQL.
Interface POO (en plus de la procédure) Prise en charge de la déclaration préparée Transaction + Prise en charge des procédures stockées Améliorations de la vitesse de la syntaxe Améliorations du débogage amélioré
Extension PDO
L'extension PHP Data Objects est une couche d'abstraction de base de données. Plus précisément, ce n'est pas une interface MySQL, car elle fournit des pilotes pour de nombreux moteurs de base de données (y compris bien sûr MYSQL).
PDO vise à fournir une API cohérente, ce qui signifie que lorsqu'un moteur de base de données est modifié, les modifications de code pour refléter cela doivent être minimes. Lorsque vous utilisez PDO, votre code ne fonctionnera normalement que sur de nombreux moteurs de base de données, simplement en changeant le pilote que vous utilisez.
En plus d'être compatible entre les bases de données, PDO prend également en charge les instructions préparées, les procédures stockées et plus encore, tout en utilisant le pilote MySQL.
la source