У меня возникают проблемы, связывающие 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; }