gpt4 book ai didi

php - 通配符 mysql LIKE 或 IN 数组值问题

转载 作者:行者123 更新时间:2023-11-29 02:36:09 24 4
gpt4 key购买 nike

我有以下代码块,它在空格上分解字符串。

$run = explode(" ",strtolower($q));

例如。 “这是字符串”

数组 $run 看起来像:

(This,is,the,string)

我遇到的问题是:

我只想分解字符串,如果它有一个白色,就像使用 php 函数 str_word_count($q)>1 一样。

不确定如何创建一个查询来处理字符串中的多个单词,并使用其中的任何一个搜索表。

$query = "SELECT name FROM  `table1`  WHERE name LIKE '%". mysql_real_escape_string($run[0]) ."%' OR name LIKE '%". mysql_real_escape_string($run[1]) ."%'";

尝试简化上述查询,使其更小,并根据字数改变大小。这也是分解字符串然后准备 sql 的好方法吗?

我也尝试过在 SQL 查询中使用 IN,但运气不佳。

最佳答案

您可以使用 MySQL 的 MATCH 。 . .反对 。 . .执行这种搜索:

WHERE MATCH (name) AGAINST ('this is the string')

咨询documentation获取更多信息。


原始解决方案,在这种情况下没有帮助:

可以查看MySQL的具体函数FIND_IN_SET:

 WHERE FIND_IN_SET(colname, 'This,is,the,string') > 0

但是,colname 中的值不能包含逗号。

关于php - 通配符 mysql LIKE 或 IN 数组值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com