Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zend db adapter mysqli or PDO_MYSQL

I've seen several code samples that do this in application.ini

resources.db.adapter = mysqli

or 

resources.db.adapter = PDO_MYSQL

What is the real difference between the two? Does it impact my code? when should I choose one or the other?

like image 881
jblue Avatar asked Dec 16 '22 21:12

jblue


2 Answers

I developed a lot of the Zend_Db component for Zend Framework through the 1.0 release. It was the goal that the adapters function identically, or as close to it as could be supported by the PHP extension.

The same set of unit tests can be run against both MySQL adapters, with virtually no difference. Performance-wise, there's no measurable difference.

The reason you would choose one over the other, and the only reason why we supported Mysqli at all, instead of only PDO_MySQL, is that you need to deploy to a PHP environment where you don't have the PDO extension enabled, and you don't have the privilege to modify the environment. For instance, a commodity hosting environment.

like image 167
Bill Karwin Avatar answered Dec 29 '22 15:12

Bill Karwin


When you are deploying your application on a web server (shared hosting) using CPANEL,

  1. Check that PDO is enabled using phpinfo();. If enabled then you can use resources.db.adapter = PDO_MYSQL
  2. If PDO is not enabled the you have to go with the alternative, resources.db.adapter = mysqli.
like image 39
Vijayan Avatar answered Dec 29 '22 16:12

Vijayan