小弟菜鳥 不知道如何下標題
我用的是sqlite
我想找尋一筆資料是item2中含有2XXXX4
item2[0]=>2XXXX40_2XXXX41_2XXXX4_2XXXX46_2XXXX5
item2[1]=>2XXXX40_2XXXX41_2XXXX42_2XXXX43_2XXXX44
執行
select * from new where item2 like "%2XXXX4%"
沒問題 可以找到item2[0],但連同item2[1]都跟著出來了
原因應該是2XXXX4% %符號可以接任意字符,
所以不只4 ,41,42,4*都會符合條件
我想到的解決辦法是
select * from new where item2 like "%2XXXX4/_%" escape "/"
讓"_"符號也當做結尾,
這樣只會找到item2[0]
但是這個要套到pdo上面
$sql= "SELECT * FROM New where item2 like ? ";
$sql_sub="and item2 like ? ";
$sql = $sql . 'ESCAPE "/"';
$sth=$db->prepare($sql);
$cp_iterm='%'.2XXXX4.'/_%';
$sth->bindValue($k,$cp_iterm);
是因為防注入的關係" _ "符號一直不能列為條件嗎?
有其他方法可以解決嗎Orz