Привет, У меня это в моей функции PDO, где я хочу проверить 2 столбца моей базы данных с тем же вводом ($ string). Это происходит из моего окна поиска в формате HTML. Я хочу результаты в одном массиве. Однако с помощью этого кода он проверяет только столбец genre
, а не столбец name
. Но он должен проверять оба столбца. Любая помощь? Благодарю.multiple LIKE не работает в PDO (PHP)
public function search($string){
$question = '%' . $string . '%';
$sql = "SELECT * FROM `products` WHERE `name` OR `genre` LIKE :q";
$stmt = $this->pdo->prepare($sql);
$stmt->bindValue(':q', $question);
$stmt->execute();
$data = '%$data%';
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
Я получаю эту ошибку, когда я использую этот запрос:
$sql = "SELECT * FROM `products` WHERE `name` like :q OR `genre` LIKE :q";
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number' in /Applications/MAMP/htdocs/bad/bad/dao/ProductsDAO.php:32 Stack trace: #0 /Applications/MAMP/htdocs/bad/bad/dao/ProductsDAO.php(32): PDOStatement->execute() #1 /Applications/MAMP/htdocs/bad/bad/controller/ProductsController.php(24): ProductsDAO->search('pokemon') #2 [internal function]: ProductsController->index() #3 /Applications/MAMP/htdocs/bad/bad/controller/Controller.php(9): call_user_func(Array) #4 /Applications/MAMP/htdocs/bad/bad/index.php(50): Controller->filter() #5 {main} thrown in /Applications/MAMP/htdocs/bad/bad/dao/ProductsDAO.php on line 32
Ответ Отредактированный, пожалуйста, проверьте изменения. сообщите мне, если у вас есть сомнения или ошибки. – ecarrizo