PHP/SQL 在数据库中搜索

标签 php mysql search

我一直在编写一个简单的 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'] 只是来自文本框的值。感谢大家的帮助!

Here is the table

最佳答案

基本上你说的是全文搜索—— 下面的查询可能会为您提供想法--

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/

相关文章:

javascript - 很少有网站先加载结构再加载内容,这背后是 Ajax 吗?

java - A* 搜索算法在不存在路径时确定循环变量

php - 使用 Sphinx/MySQL 一次从两个表中获取数据有更好的方法吗?

C#:如何解析用户查询

javascript - 从数组jquery中的子字符串中删除项目

php laravel Blade 文件 Auth::check 不工作

php - Android:如何使用 http post 发送用户输入值?

php - 哪个是 PHP 最好的密码哈希算法?

php - 如何使用 PDO (mysql) 正确调试 Insert 语句?

php - 需要帮助将代码从mysql转换为mysqli