一部のPDOドライバーは、ネイティブのプリペアドステートメントをサポートしていないため、PDOはプリペアドのエミュレーションを実行します。また、このエミュレーションを手動で有効にすることもできます。
PDO::ATTR_EMULATE_PREPARES
を確認してください 属性。現在のPDOマニュアルでは十分に文書化されていません。十分に文書化されていないということは、それがのみ表示されることを意味します マニュアル自体ではなく、サイトのコメントで。
通常、可能な限り、ネイティブのプリペアドステートメントを使用します。 MySQLの場合、クエリキャッシュを利用している場合は、実際に無効にすることをお勧めします。 PDOのネイティブプリペアドステートメント! MySQLマニュアルに詳細情報があります 、ただし、短いバージョンでは、5.1.17より前のバージョンでは、プリペアドステートメントがクエリキャッシュを介して実行されず、後続のバージョンでは、特定の(ただし一般的な)条件下でのみクエリキャッシュが使用されます。
(クエリキャッシュを完全にオフにすることをお勧めする人もいます。