繁体   English   中英

PHP:mysqli从数据库搜索

[英]PHP : mysqli search from database

我正在使用php mysqli做一个非常简单的搜索操作,在我的数据库中有一个我要搜索的公司名称字段,这就是我正在使用的

SELECT * FROM directory WHERE title LIKE '$sq%'

标题是我通过$_POST获得的$_POST其余查询工作正常,但如果公司名称为

公司名称 ,如果我输入的名称不显示搜索结果,但仅显示名字,我该如何解决?需要您的帮助

您需要在查询前面加通配符。 %表示左侧和右侧允许其他任何内容。

用您当前的查询:

SELECT * FROM directory WHERE title LIKE '$sq%'

您需要标题以确切的短语开头。 尝试:

SELECT * FROM directory WHERE title LIKE '%$sq%'

匹配搜索词之前的任何内容并进行搜索。

这也应该参数化

SELECT * FROM directory WHERE title LIKE ?

然后绑定'%' . $sq . '%' '%' . $sq . '%' '%' . $sq . '%'

有关通配符的更多信息: http : //dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html

简单的例子:

'chri%'将匹配chrischrisssschristopher ,而不匹配kris

%ris%将与chrischrisssschristopherkris匹配。

%ris会匹配chriskris

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM