2

私は単位を持つテーブルを持っています:

insert into table unit ('id', 'name') values ('1', 'mg'), 
('2', 'km'), ('3', '%'), ('4', '%.'), ('5', 'mg/100%'), ('6', 'km/h'); 

ここで、名前に % が含まれるすべての単位を検索します (ここでは、%、%、および mg/100%):

select * from unit where name like  '%\%%'; 

コンソールまたはphpmyadminからは正常に動作しますが、PDOで実行しようとすると

$st = $db->prepare('select * from unit where name like :n'); 
$st->execute(array('n'=>'%mg%')); 

大丈夫ですが、

$st->execute(array('n'=>'%\%%')); 

結果が出ない…

PDOの準備/実行で%文字をエスケープする方法は?

4

1 に答える 1