【发布时间】:2014-12-20 00:10:03
【问题描述】:
我在将 LIKE 与通配符绑定到我在 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>";
}
}
}
}
【问题讨论】:
标签: php mysql stored-procedures mysqli prepared-statement