"CActiveForm"と言うときは、Yiiで生成されたモデルとコントローラを使用することを意味します。 CActiveFormは自動的にサニタイズを行いませんが、Yiiがデフォルトで使用するActiveRecordメソッドを使用すると、通常は各フィールドのデータ型に基づいてPDOバインディングが実行されます。 createCommand()やその他のメソッドを使用して独自のクエリを作成する場合は、define your own bindingsにする必要があります。
あなたは、あなたがturn on logging、例えば、DBコマンドでファイルを生成components-であなたの設定ファイルに以下を追加することができます何が起こっているのか確認したい場合は
>配列ログイン:
'components'=>array(
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'trace, info',
'categories'=>'system.db.*',
'logFile'=>'db.log',
),
...
をし、更新ステートメントがパラメータ化されているとわかる場合は、PDO bindingsを使用していることを確認することができます。 (デフォルトでは、ログファイルは "ランタイム"ディレクトリに保存され、トレースすることができます。ウェブページの下部またはCWebLogRouteでFireBugに表示することもできますが、ページがリダイレクトされます)。
出典
2011-10-06 18:41:44
ldg
からこれらanswareを取得
私はこれをupvoteすることは許されないんだけど、これは私が必要なだけの答えです。私はデフォルトのActiveRecordモデルを使用しているので、これをカバーする必要がありますが、確かにログをチェックアウトします。ありがとう! – Jack