[英]LIKE MySQL Prepared Statement
我正在使用AJAX和准备好的语句创建搜索引擎。 发送搜索变量并且AJAX查询成功,但是问题出在我的搜索查询语法上。 无论我的搜索词对关键字有多精确,我的num_rows始终为0。我在搜索词中添加了% %
,我曾尝试删除空格,但没有主意。
关键字示例包括悲伤,声学,电,布鲁斯等。
<?php
include 'config.php';
$partialSearch = "%".$_POST['partialSearch']."%";
$stmt = $mysqli->prepare("SELECT Name FROM videos WHERE Keywords LIKE ? ");
$stmt->bind_param('s',$partialSearch);
$stmt->execute();
$stmt->bind_result($Name);
if($stmt->num_rows() == 0)
{
echo "No results found for ".$_POST['partialSearch'];
}else{
echo "Results for ".$_POST['partialSearch'];
echo $Name;
}
?>
您应该添加对store_result
的调用,以获取结果中记录的准确计数:
尝试:
...
$stmt->execute();
$stmt->store_result(); // Add this line
$stmt->bind_result($Name);
if($stmt->num_rows == 0)
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.