ホームページ >データベース >mysql チュートリアル >CodeIgniter は準備されたステートメントをどのように処理しますか?
CodeIgniter でのプリペアド ステートメントの使用
CodeIgniter では、プリペアド ステートメントはネイティブにサポートされていません。代わりに、名前のないプレースホルダーを含むクエリ バインディングがクエリの実行を簡素化するために使用されます。 :placeholders で表される準備されたステートメントを使用しようとすると、ユーザーは問題に遭遇する可能性があります。
この不一致を解決するには、CodeIgniter の Database クラスが疑問符プレースホルダーを配列のデータに置き換えることを理解することが重要です。これは、真の準備済みステートメントの代わりにクエリ バインディングが使用されることを意味します。
たとえば、次のコード スニペットは、CodeIgniter でのクエリ バインディングを示しています。
<code class="php">$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; $this->db->query($sql, array(3, 'live', 'Rick'));</code>
この例では、疑問符は自動的に使用されます。
CodeIgniter は従来のプリペアド ステートメントをサポートしていませんが、クエリ バインディングの概念は、クエリ構築プロセスを簡素化することで同様の目的を果たします。名前のないプレースホルダーでクエリ バインディングを使用することにより、開発者は、個別の準備関数と実行関数を必要とせずに、同等の結果を達成できます。
以上がCodeIgniter は準備されたステートメントをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。