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?
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.