У меня есть этот код:
$connection = new DBConnection();
$searchDeals = false;
try {
$sql = 'SELECT d.`id`, d.`title`, d.`user_id`, d.`deal_price`, d.`original_price`, d.`host_link`, d.`coupon_code`, d.`description`,
d.`start_date`, d.`expire_date`, d.`votes_counter`, d.`created_at`,
u.`username`
FROM `deals` AS d
WHERE d.`title` LIKE :search_input
JOIN `users` AS u
ON d.user_id = u.id
LIMIT :max_deals
OFFSET :pageOffset';
$stmt = $connection->dbh->prepare($sql);
$stmt->bindParam(':max_deals', $maxDealsInPage, PDO::PARAM_INT);
$stmt->bindParam(':pageOffset', $pageOffset, PDO::PARAM_INT);
$stmt->execute(array(
'search_input' => '%' . $_GET['q'] . '%' --- HIGHLIGHTED LINE ---
));
$searchDeals = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {}
$connection->disconnect();
Я получаю это сообщение об ошибке:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens ON LINE (---HIGHLIGHTED LINE IN MY CODE---)
Я не могу понять почему .. потому что я поставляю все необходимые токены ...