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

看板PHP作者 (向前走,才知道轉角)時間8年前 (2017/01/21 03:07), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/4 (看更多)
各位先進 小弟有一事想要請教各位大大 因目前專案有一功能是需要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

01/21 11:11, , 1F
應該是先把你的sqlstring組好再一次丟給prepare吧?
01/21 11:11, 1F

01/21 15:13, , 2F
這樣最後執行的SQL不就只剩AND...那些
01/21 15:13, 2F

01/21 15:14, , 3F
php的 = 沒有連接字串功能 用到pdo也不會自己跑出來
01/21 15:14, 3F

01/21 15:51, , 4F
每個查詢分開執行
01/21 15:51, 4F

01/21 16:43, , 5F
因為查詢的條件有迴圈是否是要把SQL先放到陣列中在prepar
01/21 16:43, 5F

01/22 11:19, , 6F
"查詢的條件有迴圈"是什麼意思
01/22 11:19, 6F

01/22 11:20, , 7F
你有一大堆LIKE ... OR LIKE ... 就把各個like湊成陣列
01/22 11:20, 7F

01/22 11:20, , 8F
最後再implode(' OR ', $likes)不就結了
01/22 11:20, 8F
文章代碼(AID): #1OWb_lVk (PHP)
文章代碼(AID): #1OWb_lVk (PHP)