Quelle est la différence entre MySQL, MySQLi et PDO ?
Lequel est le mieux adapté pour utiliser PHP-MySQL?
Il existe (plus de) trois façons courantes d'utiliser MySQL à partir de PHP. Ceci décrit quelques caractéristiques/différences PHP: Choisir une API :
Je recommanderais d'utiliser AOP avec des instructions préparées. C'est une API bien conçue qui vous permettra plus facilement de passer à une autre base de données (y compris celles prenant en charge ODBC ) si nécessaire.
Ce sont différentes API pour accéder à un backend MySQL
Cela dépend donc du type de code que vous voulez produire. Si vous préférez les calques orientés objet ou les fonctions simples ...
Mon conseil serait
Je pense aussi que l'API mysql serait probablement supprimée dans les prochaines versions de PHP
.
Il y a un table comparant les 3 fonctionnalités de l'API. Utilisez Mysqli autant que possible, comme c'est le cas pour la dernière version lancée après PDO. Elle sera et sera mieux maintenue à l'avenir.
mysqli est la version améliorée de mysql.
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 standard.
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 des instructions préparées Transaction + prise en charge des procédures stockées Amélioration de la syntaxe plus simple Amélioration du débogage
Extension AOP
L'extension PHP Data Objects est une couche d'abstraction de base de données. Plus précisément, il ne s’agit pas d’une interface MySQL, car elle fournit des pilotes pour de nombreux moteurs de base de données (y compris MYSQL).
PDO vise à fournir une API cohérente qui signifie que lorsqu'un code de moteur est modifié, les modifications de code reflétant cette modification doivent être minimales. Lorsque vous utilisez PDO, votre code "ne fonctionne que" sur de nombreux moteurs de base de données, simplement en modifiant le pilote que vous utilisez.
En plus d'être compatible avec plusieurs bases de données, PDO prend également en charge les instructions préparées, les procédures stockées, etc., tout en utilisant le pilote MySQL.