我需要以下代码才能运作。
我正在尝试使用PHP变量并向其添加[charlist]通配符语句
有人可以帮助弄清楚它为什么不起作用。
基本上它可以工作,如果我删除[charlist]通配符,但我需要它来找到PHP变量中的所有字母
我的代码如下
LIKE ''[' $searchWord ']%''
答案 0 :(得分:3)
要使用字符类,您需要使用REGEXP运算符。
此外,在字符类之后,您需要指示重复运算符。 %匹配任何字符串(并且仅用于LIKE),但是如果要应用它以使其匹配字符类中包含的任何字母系列,则需要执行以下操作:
$query = '`column` REGEXP "[' . $searchWord . ']+"';
或者,使用*来匹配0或更多。 (+是1或更多)
答案 1 :(得分:0)
如果$ searchWord是一个数组,请首先通过调用implode来尝试:
$listOfCharacters = str_split($searchWord, 1);
$implodedString = implode(',', $listOfCharacters;
内爆字符串现在是逗号分隔字符串而不是数组。 PHP不会将数组本身转换为字符串。 然后你可以使用它:
LIKE ''[' $implodedString ']%''
虽然我怀疑在没有字符串连接的情况下使用它。我们在这里错过了一些代码吗?