Quelle est la différence entre MySQL, MySQLi et AOP ?
Lequel est le mieux adapté à l'utilisation de PHP-MySQL ?
Il existe (plus de) trois façons populaires d'utiliser MySQL à partir de PHP. Voici quelques caractéristiques/différences PHP : Choisir une API :
Je recommande l'utilisation de PDO avec des déclarations préparées. Il s'agit d'une API bien conçue qui vous permettra de passer plus facilement à une autre base de données (y compris à une base qui prend en charge ODBC ) si nécessaire.
Il y a souvent une confusion sur le fait que pour le procédural il faut utiliser les fonctions mysql_*() alors que pour l'OO il faut utiliser mysqli ! Le fait est que mysqli a complètement remplacé la première implémentation de mysql (PHP 4). Il est possible d'utiliser à la fois le style procédural et le style OO avec mysqli.
Ce sont des API différentes pour accéder à un backend MySQL
Cela dépend donc du type de code que vous voulez produire. Si vous préférez les couches orientées objet ou les fonctions simples...
Mon conseil serait le suivant
J'ai aussi le sentiment que l'API mysql sera probablement supprimée dans les prochaines versions de PHP
.
Il existe un tableau en comparant les 3 fonctionnalités de l'API. Utilisez Mysqli autant que possible, car c'est la dernière version lancée après PDO et elle est 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 aux bases de données comme des fonctions d'extension régulières.
Plus précisément, l'extension MySQLi offre les avantages extrêmement utiles suivants par rapport à l'ancienne extension MySQL
Interface OOP (en plus de l'interface procédurale) Support des déclarations préparées Support des transactions et des procédures stockées Syntaxe plus agréable Amélioration de la vitesse 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, il ne s'agit pas d'une interface MySQL, car elle fournit des pilotes pour de nombreux moteurs de bases de données (dont 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 changements de code pour refléter cela devraient être minimes. En utilisant PDO, votre code fonctionnera normalement 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 bien d'autres choses encore, tout en utilisant le pilote MySQL.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.