php – 表中的MySQL搜索关键字OR或AND或全文匹配
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 表中的MySQL搜索关键字OR或AND或全文匹配,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
![php – 表中的MySQL搜索关键字OR或AND或全文匹配](/upload/InfoBanner/zyjiaocheng/903/d532196967a24642adef7eb68d83ed4a.jpg)
参见英文答案 > mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc… expects parameter 1 to be resource or result 31个
我有一个搜索表单来搜索MySQL中的产品,表格包含:
1)id
2)条形码
3)product_name
4)制造商
5)模型
我有更多的领域,如价格税等,但它们现在并不重要.
使用以下代码我正在搜索数据库,它工作得很好,但现在有一个问题.这是代码
首先是HTML表单
<form method="post" name="search">
<input type="text" name="keywords" value="...">
<input type="submit" value="search">
</form>
现在是PHP和MySQL代码
$searchterms= mysqli_real_escape_string($database,$_POST['keywords']);
$result=mysqli_query($db,"
SELECT * FROM `products`
WHERE `barcode` LIKE '%$searchterms%'
OR `product_name` LIKE '%$searchterms%'
OR `model` LIKE '%$searchterms%'
OR `manufacturer` LIKE '%$searchterms%'
");
$rows=mysqli_num_rows($result);
if(mysqli_num_rows($result)>0){
?>
我尝试了全文搜索,但是我收到了错误
$searchterms= mysqli_real_escape_string($database,$_POST['keywords']);
$result=mysqli_query($database,"SELECT * FROM products
WHERE MATCH (product,manufacturer,model)
AGAINST ('$searchterms' IN NATURAL LANGUAGE MODE);");
$rows=mysqli_num_rows($result);
if(mysqli_num_rows($result)>0){
?>
错误文字
警告:mysqli_num_rows()期望参数1为mysqli_result,布尔值为
正如您所看到和理解的那样,我有一个输入文本可以在数据库中进行搜索.
如果我搜索关键字:“三星”,那么我从制造商三星获得产品.
如果我搜索模型“S6 Edge”,那么我会得到带有S6或S6型号的产品
但
如果我使用2个字的关键字“samsung s6”,那么搜索结果为空
知道为什么吗?
编辑:
这是我在小提琴中使用的完整代码
https://jsfiddle.net/psnf0arw/
查看完整的PHP代码会更容易理解
解决方法:
如果您打算在任何这些字段中找到任何关键字,则可以尝试使用REGEXP而不是LIKE.
$searchterms = mysqli_real_escape_string($database,$_POST['keywords']);
$searchexp = implode("|", str_word_count($searchterms, 1));
$result=mysqli_query($db,"
SELECT * FROM `products`
WHERE `barcode` REGEXP '$searchexp'
OR `product_name` REGEXP '$searchexp'
OR `model` REGEXP '$searchexp'
OR `manufacturer` REGEXP '$searchexp'
");
内容总结
以上是互联网集市为您收集整理的php – 表中的MySQL搜索关键字OR或AND或全文匹配全部内容,希望文章能够帮你解决php – 表中的MySQL搜索关键字OR或AND或全文匹配所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。