複雑な SQL を発行する時は CakePHP に生成させようと思うとカオスになるので、直書きしているのですが、CakePHP 2.0 では何か挙動がおかしいです。CakePHP 1.3 系で直書きした覚えが無いので、もしかしたら随分前からかもしれないですが、mysql_real_escape_string() を使うより Sanitize::escape() を使うと良さそうです。
1 2 | App::import('Utility', 'Sanitize'); $string = Sanitize::escape($var); |
ちょっと確認したところ、きちんとエスケープされていたのでこれで実装してテストしてみようと思います。間違ってたら情報頂けると幸いです。
コメント