PHP:mysqli从数据库中搜索

时间:2016-04-26 15:06:55

标签: php mysql sql mysqli

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

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

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

则存在问题

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

1 个答案:

答案 0 :(得分:0)

您需要将查询前面的通配符设置为。 %表示左侧和右侧允许任何其他内容。

使用您当前的查询:

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

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

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

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

这也应该是parameterized

SELECT * FROM directory WHERE title LIKE ?

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

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

简单示例:

'chri%'符合chrischrisssschristopher,不匹配kris

%ris%符合chrischrisssschristopherkris

%ris将匹配chriskris

相关问题