[CakePHP] 独自のSQL文でプリペアドステートメントを使う方法

CakePHPで独自のSQLを使うにあたり、SQLインジェクション対策のため、プリペアドステートメントを使った方が良いです。

プリペアドステートメントはMySQL 5.1から搭載された機能で、パラメータを自分でエスケープ(サニタイズ)しないで済みます。

書式
$this->Model->getDataSource()->fetchAll($query,$params,array(‘cache’ => false));

第一引数:SQL文を設定(パラメータは?で記載)
第二引数:パラメータを設定
第三引数:キャッシュを設定(デフォルトではTrueなのでFalseにしておいた方が良い)

PHP

CakePHPのプリペアドステートメント(利用例)

検索フォームでPOSTされたデータからSQL文とパラメタリストを作ってプリペアドステートメントを実行する例です。



Author: webmaster