У меня есть googled и много читал о том, как создать поиск в mysql с PDO, но я все еще не увенчался успехом в создании одного для себя.PHP PDO LIKE заявление неуспешно
Im, поиск в двух полях в моей таблице для одного и того же набора ключевых слов.
$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