3 回答

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個贊
$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));
錯了 您不需要雙引號。
WHERE hs.hs_text LIKE ":searchTerm"
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
這也是錯誤的。嘗試:
$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
說明:準(zhǔn)備好的語句不能簡單地進(jìn)行字符串替換。它們傳輸?shù)臄?shù)據(jù)與查詢完全分開。僅在將值嵌入查詢中時才需要引號。

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
$prep = $dbh->prepare($sql);
$ret = $prep->execute(array('searchTerm' => $searchTerm));

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個贊
好吧,我解決了這個問題。坦率地說,我是個白癡...謝謝大家看到這些并給出了很好的反饋。問題是表名中的錯字(我更改了,所以這里沒有人能看到我的問題開頭...)。但是,這些建議確實(shí)使我找到了問題,因此,謝謝亞當(dāng),jkndrkn和troelskn。
作為記錄,以下組合效果很好:
WHERE aw_hcl_subdevices.hs_text LIKE CONCAT(\'%\', ?, \'%\')
$ret = $prep->execute(array($searchTerm));
添加回答
舉報(bào)