我一直在编写一个简单的 php 代码来搜索数据库内的内容。现在这是我的问题。例如,在数据库中有一个名字“John Anthony Jaynes”,但我只知道名字“John Jaynes”。没有结果,因为“安东尼”位于约翰和杰恩斯中间。我不知道如何开始编码,因为我不知道从哪里开始。我正在使用 LIKE,所以如果我输入“Jo Jay”,它也应该起作用,“Jo”来自 John,“Jay”来自 Jaynes。只要它们按顺序排列,就会像“Jo An Jay”应该起作用但“Jo Jay An”不应该起作用一样。有可能吗?非常感谢!这是我的 SQL 代码!
$sql2 = "SELECT *
FROM brochureinfo
WHERE sku LIKE '%".$_GET['search']."%' || name LIKE '%".$_GET['search']."%'
ORDER BY name";
$_GET['search'] 只是来自文本框的值。感谢大家的帮助!
最佳答案
基本上你说的是全文搜索—— 下面的查询可能会为您提供想法--
SELECT * FROM brochureinfo WHERE match(sku,name) against('your search string')
https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
关于PHP/SQL 在数据库中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32322859/