У меня есть проблемы, связывающие LIKE
с Wildcard в мое подготовленное заявление в MySQLi. Я попробовал оба следующих метода ниже, как показано & concat. (обновляется с помощью ввода @fancyPants)
Есть ли способ, чтобы я мог просмотреть свой собственный оператор SQL после того, как происходит привязка?
Как правильно связать его, чтобы получить желаемый результат?
Это работает без утверждения LIKE.
Я мог только извлечь данные из определенного поискового запроса. Что-то не так с моим кодом?
$str = $_POST["searchstr"];if(isset($_POST['submit']))
{
$price=$_POST['price'];if(!empty($_POST['chkbx']))
{
foreach($_POST['chkbx'] as $selected)
{$sql= 'SELECT bookTitle, bookPrice FROM nbc_book WHERE catID LIKE "%'.$selected.'%" AND bookTitle LIKE "%'.$str.'%" AND bookPrice < ?';
$stmt=mysqli_prepare($con,$sql);
mysqli_stmt_bind_param($stmt,"i",$price);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $bookTitle, $bookPrice);
while ($stmt->fetch()) {
echo $bookTitle.$bookPrice."<br>";
}
}
}
}
$searchStr = 'oracle';
$sql= 'SELECT bookTitle, bookPrice FROM nbc_book WHERE catID LIKE ? AND bookTitle LIKE "%'.$searchStr.'%" AND bookPrice < ?';
$stmt=mysqli_prepare($con,$sql);
mysqli_stmt_bind_param($stmt,"ssi",$selected,$price);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $bookTitle, $bookPrice);
while ($stmt->fetch()) {
echo $bookTitle;
}
Других решений пока нет …