PHP 板


LINE

看板 PHP  RSS
小弟菜鳥 不知道如何下標題 我用的是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 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.164.38
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1513844563.A.B74.html ※ 編輯: kiraseedone (114.47.164.38), 12/21/2017 16:23:15
1F:→ MOONRAKER: 試試改用regexp operator 他行為比較接近一般的regex 12/21 18:55
2F:→ MOONRAKER: https://stackoverflow.com/questions/4078633/ 12/21 18:55
3F:→ MOONRAKER: https://goo.gl/3Tghxj 12/21 18:56
4F:→ MOONRAKER: 以這個要求而言改為where item2 regexp '2XXXX4_'即可 12/21 18:58
感謝大大 這個剛剛在工具上跑 的確完美沒問題! 但到了PDO上好像不能用QAQ 餵狗後找不到什麼資訊Orz $sql= "SELECT * FROM New where item2 regexp ? "; $cp_iterm=$iterm[$k-1]."_"; $sth->bindParam(1,$cp_iterm); 變成什麼都找不到Orz 我繼續爬文 感謝大大Orz ※ 編輯: kiraseedone (114.47.164.38), 12/21/2017 19:53:47 ※ 編輯: kiraseedone (114.47.164.38), 12/21/2017 20:08:40
5F:→ altecjc: 來個蠢方法?WHERE item2 LIKE '2XXXX4_%' OR item2 12/21 22:13
6F:→ altecjc: LIKE '%_2XXXX4_%' OR item2 LIKE '%_2XXXX4' 12/21 22:14
%_2xxx4_% _<-這個符號似乎要配上/ 和ESCAPE "/"轉譯才能查找 但這僅限在工具上面可以使用 如果要套到pdo上面 似乎會出問題((找不到資料)) 比較大的問題是想套在PDO上面 REGEXP有找到資料似乎SQLITE不支援 必須自己寫,找到別人寫的涵式 http://scar.tw/article/2012/09/20/extend-sqlite-to-support-regexp/ 但套用進去配上上面那段似乎沒用Orz ※ 編輯: kiraseedone (114.47.164.38), 12/21/2017 22:21:29
7F:→ MOONRAKER: 結果還是底線問題?真是神祕 :| 12/22 07:45
8F:→ altecjc: 這樣子可執行,不知道是不是你要的 12/22 12:23
9F:→ altecjc: https://tinyurl.com/ycoth687 12/22 12:23
10F:→ altecjc: 但我是用 mariadb 測試的 12/22 12:29
看來問題是選的資料庫類型了(?) 用SQLITE這方法好像不行Orz ※ 編輯: kiraseedone (114.47.164.38), 12/23/2017 13:08:55
11F:→ MOONRAKER: sqlite很多方面都很原始 :( 12/23 14:43







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP