2010-10-02 14 views
4

PDO_MYSQL J'ai vu plusieurs exemples de code qui font en application.iniadaptateur Zend db mysqli ou

resources.db.adapter = mysqli 

or 

resources.db.adapter = PDO_MYSQL 

Quelle est la différence entre les deux? Cela a-t-il un impact sur mon code? Quand devrais-je choisir l'un ou l'autre?

Répondre

10

J'ai développé une grande partie du composant Zend_Db pour Zend Framework via la version 1.0. C'était le but que les adaptateurs fonctionnent de manière identique, ou aussi près que possible de l'extension PHP.

Le même ensemble de tests unitaires peut être exécuté sur les deux adaptateurs MySQL, pratiquement sans différence. Performance-sage, il n'y a pas de différence mesurable. La raison pour laquelle vous choisiriez l'un par rapport à l'autre, et la seule raison pour laquelle nous avons pris en charge Mysqli, au lieu de seulement PDO_MySQL, est que vous devez déployer dans un environnement PHP où l'extension PDO n'est pas activée et vous n'avez pas le privilège de modifier l'environnement. Par exemple, un environnement d'hébergement de produits de base.

+2

Voici fil sur la performance que vous avez répondu, http://stackoverflow.com/questions/171400/which-is-fastest-in-php-mysql-or-mysqli – Alex

+0

@ Alex: Merci! –

2

Lorsque vous déployez votre application sur un serveur web (hébergement mutualisé) en utilisant cPanel,

  1. Vérifiez que PDO est activé à l'aide phpinfo();. Si activé, vous pouvez utiliser resources.db.adapter = PDO_MYSQL
  2. Si PDO n'est pas activé, vous devez utiliser l'alternative resources.db.adapter = mysqli.