go to bug id or search bugs for
On this page http://php.net/manual/en/ref.pdo-mysql.php I quote
"PDO_MYSQL will take advantage of native prepared statement support present in MySQL 4.1 and higher. If you're using an older version of the mysql client libraries, PDO will emulate them for you."
I think the default setting of PDO::ATTR_EMULATE_PREPARES being on conflicts with my quote. It should say that its capable of taking advantage, but the default is to emulate.
semi related bug report on the setting https://bugs.php.net/bug.php?id=54638
Add a Patch
Add a Pull Request
I'd like to add that PDO::MYSQL_ATTR_DIRECT_QUERY does exactly the same thing as PDO::ATTR_EMULATE_PREPARES, they are just synonyms.
This can be quickly seen in source code : http://lxr.php.net/xref/PHP_5_4/ext/pdo_mysql/mysql_driver.c#390
Also, note that PDO::getAttribute() wont show you PDO::ATTR_EMULATE_PREPARES as it has not been implemented in the get() handler for pdo_mysql driver, referer here : http://lxr.php.net/xref/PHP_5_4/ext/pdo_mysql/mysql_driver.c#417
However, PDO::MYSQL_ATTR_DIRECT_QUERY has been
Interesting, I stumbled upon this topic today and will be documenting it.
And nice MYSQL_ATTR_DIRECT_QUERY tip, I'll steal that... :)