看板 PHP 關於我們 聯絡資訊
各位先進 小弟有一事想要請教各位大大 因目前專案有一功能是需要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好像不能這樣用,還想請大大們解惑 萬分感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.19.62 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1484939247.A.7EE.html
cf1064: 應該是先把你的sqlstring組好再一次丟給prepare吧? 01/21 11:11
MOONRAKER: 這樣最後執行的SQL不就只剩AND...那些 01/21 15:13
MOONRAKER: php的 = 沒有連接字串功能 用到pdo也不會自己跑出來 01/21 15:14
zop: 每個查詢分開執行 01/21 15:51
rjackie: 因為查詢的條件有迴圈是否是要把SQL先放到陣列中在prepar 01/21 16:43
MOONRAKER: "查詢的條件有迴圈"是什麼意思 01/22 11:19
MOONRAKER: 你有一大堆LIKE ... OR LIKE ... 就把各個like湊成陣列 01/22 11:20
MOONRAKER: 最後再implode(' OR ', $likes)不就結了 01/22 11:20