我已經使用了Google,並閱讀了很多關於如何使用PDO在mysql中創建搜索的內容,但是我仍然沒有成功嘗試爲自己創建一個搜索。PHP PDO LIKE語句不成功
我在我的表中的兩個字段中搜索相同的一組關鍵字。
$str = explode(' ','app ban');
$p_id = 5;
$search_term = '';
$stmt = $db->prepare('SELECT id from the_table WHERE p_id=:p_id AND (name LIKE :search_term1 OR text LIKE :search_term2)');
$stmt->bindValue(':p_id',$p_id, PDO::PARAM_INT);
$stmt->bindValue(':search_term1',$search_term, PDO::PARAM_STR);
$stmt->bindValue(':search_term2',$search_term, PDO::PARAM_STR);
foreach($str as $key => $value)
{
$search_term = '%'.$value.'%';
$stmt->execute();
while($row = $stmt->fetchObject())
{
if(!isset($res[$row->id]))
$res[$row->id] = 0;
$res[$row->id] = $res[$row->id] + 1*strlen($value);
}
}
print_r($res);
這使得即使我的琴絃「應用程序」和「禁令」在這兩個名稱和文本幾個領域一個空的結果。當我在phpmyadmin中進行相同的搜索時,我得到了很多結果。
我嘗試在關鍵字周圍添加一些引號:''%'。$ value'%'';沒有成功。 我覺得我沒有選擇。請幫忙!
你知道你可以重新使用命名參數佔位符嗎? – Phil 2013-02-20 23:47:55