読者です 読者をやめる 読者になる 読者になる

【CakePHP 2.x】Sanitize では % がエスケープされない

CakePHP2.x

ちょっとしたプログラムで・・・・

<?php
return $this->find('all', array('conditions'=>array('Customer.name LIKE '=>'%'.$customer_name.'%')));

上記の $customer_name をエスケープしようとして、
Sanitize::clean() を使ったけど、
% がエスケープされなかった。

% を入力すると全データが出力されてしまう。

これがエスケープの正常動作かは分からないけど、
全データを出力したくないので、
%をバックスラッシュで別途エスケープした。

モデル部分は自分でPDOを使って実装した方が
安全で早いかもしれない・・・。