[請益] 想請問一下關於pdo搜尋多組字串的問題

作者: rjackie (向前走,才知道轉角)   2017-01-21 03:07:25
各位先進 小弟有一事想要請教各位大大
因目前專案有一功能是需要LIKE多組字串,以下程式
$p_search = explode(" ",$p_search_name);
$product_info_sql = $db->prepare("SELECT no FROM product_info
where name LIKE '%".$p_search_name."%' ");
foreach($p_search as $k){
$product_info_sql = $db->prepare( " OR name LIKE '%$k%' ");
}
$product_info_sql = $db->prepare(" AND status = ? order by sequence
DESC limit " . $startRow_records . ",$pageRow_records");
$product_info_sql->execute(array('1'));
主要是判斷有幾組字串(關鍵字),產生多組OR name LIKE
但是PDO好像不能這樣用,還想請大大們解惑
萬分感謝
作者: cf1064 (蚵仔)   2017-01-21 11:11:00
應該是先把你的sqlstring組好再一次丟給prepare吧?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-01-21 15:13:00
這樣最後執行的SQL不就只剩AND...那些php的 = 沒有連接字串功能 用到pdo也不會自己跑出來
作者: zop (ㄞ肝ㄞ肝~一元二十罐~)   2017-01-21 15:51:00
每個查詢分開執行
作者: rjackie (向前走,才知道轉角)   2017-01-21 16:43:00
因為查詢的條件有迴圈是否是要把SQL先放到陣列中在prepar
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-01-22 11:19:00
"查詢的條件有迴圈"是什麼意思你有一大堆LIKE ... OR LIKE ... 就把各個like湊成陣列最後再implode(' OR ', $likes)不就結了

Links booklink

Contact Us: admin [ a t ] ucptt.com