php - PHP搜索查询与CONCAT完全匹配
问题描述
我正在尝试构建一个搜索查询,假设如果我们输入一个词干,它应该显示以词干开头的词以及之后的任何内容。现在,我的代码如下所示:
$sql = "SELECT * FROM `faculty`
WHERE (CONCAT(`firstName`, ' ', `lastName`,`expertise`,`affiliation`)
LIKE '%$textSearch%') ORDER BY lastname asc";
如果我在搜索栏中搜索词干,它会显示不必要的词,例如“系统”。
解决方案
如果您正在寻找跨多个列的搜索,但每个单词必须以搜索词开头,您可能必须使其成为多个 LIKE 语句?
$sql = "SELECT * FROM `faculty` WHERE
`firstName` LIKE ‘$textSearch%’ OR `lastName` LIKE ‘$textSearch%’ OR `expertise` LIKE ‘$textSearch%’ OR `affiliation` LIKE ‘$textSearch%’
ORDER BY lastname asc";
推荐阅读
- powershell - Powershell:获取 Windows 用户目录的大小(C:\Users\
) - r - 如何在 R 中使用 dplyr 从数据框中删除观察列表?
- python - 使用python pandas从带有嵌套字典的字符串中提取特定键的值
- r - 如何在 t_test 函数中使用带引号的字符串
- sql - Microsoft SQL Server Management Studio 和 Oracle 链接服务器
- sql-server - SSRS 报表管理器数据源和目录表差异
- powershell - Powershell 将文件从 Docker 容器中的远程计算机复制到本地计算机
- reactjs - 如何对依赖于 redux props 的组件进行单元测试
- c# - 如何在 Blazor.net 的页面参数中使用连字符/破折号
- python - 过拟合alexnet——python