ホームページ >バックエンド開発 >PHPチュートリアル >PDO 操作で、ATTR_EMULATE_PREPARES 属性を false に設定した後も、準備がローカルでシミュレートされていることがわかりました。
PDO 操作、ATTR_EMULATE_PREPARES 属性を false に設定した後、準備が依然としてローカルでシミュレートされていることがわかりました
リーリーmysql ログ:
リーリー「このプロパティを false に設定すると、シミュレーションの準備はローカルで実行されません」という説明どおりではないことがわかりました
phpバージョン5.2.17
補足コンテンツ:
PDO::ATTR_EMULATE_PREPARES は、準備されたステートメントのエミュレーションを有効または無効にします。 一部のドライバーでは、ローカル前処理のサポートがないか、サポートが制限されています。この設定を使用して、PDO が常にプリペアド ステートメントをエミュレートするように強制したり ( TRUE の場合)、ネイティブのプリペアド ステートメントの使用を試行したり ( FALSE の場合) します。 ドライバーが現在のクエリを正常に前処理できない場合、ドライバーは常に準備されたステートメントのエミュレーションに戻ります。
これは、ドライバーが現在のクエリを正常に前処理していないことが原因で発生する問題ですか?
PDO 操作、ATTR_EMULATE_PREPARES 属性を false に設定した後、準備が依然としてローカルでシミュレートされていることがわかりました
リーリーmysql ログ:
リーリー「このプロパティを false に設定すると、シミュレーションの準備はローカルで実行されません」という説明どおりではないことがわかりました
phpバージョン5.2.17
補足コンテンツ:
PDO::ATTR_EMULATE_PREPARES は、準備されたステートメントのエミュレーションを有効または無効にします。 一部のドライバーでは、ローカル前処理のサポートがないか、サポートが制限されています。この設定を使用して、PDO が常にプリペアド ステートメントをエミュレートするように強制したり ( TRUE の場合)、ネイティブのプリペアド ステートメントの使用を試行したり ( FALSE の場合) します。 ドライバーが現在のクエリを正常に前処理できない場合、ドライバーは常に準備されたステートメントのエミュレーションに戻ります。
これは、ドライバーが現在のクエリを正常に前処理していないことが原因で発生する問題ですか?
Win環境でphp5.2.x環境を使用するとスムーズに前処理ができることが分かりました。