php - 如果字母或单词匹配,MySQL 返回所有内容?

标签 php mysql regex

这是我现在正在使用的:

SELECT * FROM title where title.posttitle LIKE '%$Search%'

如果有人搜索如何制作 Apple Pie,它会返回正确的内容。

如果有人搜索 make Apple Pie,由于某种原因,它不会返回任何内容。

如何才能使任何字母或单词匹配时返回记录?

最佳答案

如果帖子标题恰好包含 $Search 值,则会生成响应。在我看来,精确搜索包含多个单词的字符串并不是最佳实践。 我会将字符串分解为单词(使用 javascript 的示例)

var string = "my sample sentence";
var words = str.split(" ");

然后我会搜索是否包含这些词

SELECT * FROM title where (title.posttitle LIKE '%words[0]%') AND (title.posttitle LIKE '%words[1]%') ...etc

以一种格式将数据存储到数据库也将有助于搜索(全部小写或大写)

关于php - 如果字母或单词匹配,MySQL 返回所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31403709/

相关文章:

php - 每个月的第一天只插入一次数据

php - 多个数组显示在一张表中

php - MySQL更新或插入具有多个查询的整数值以同时更改它

php - 如何进行查询以获得可区分的值?

php - 集成测试数据库驱动的 php 的最佳实践是什么?

mysql - 从 MySQL 连接到 MSSQL

regex - 在perl中使用正则表达式从字符串中提取子字符串?

regex - 如何获取包含\n的最后一行?

C# 正则表达式验证字符串

java - 如何使用 Android 更新 PHP MYSQL 中特定 id 的数据