如何在MySQL regexp中使用PHP字符串插值和方括号?

时间:2016-08-03 22:31:38

标签: php mysql regex

在我的查询中,我有:

$search .= "and title REGEXP '[[:<:]]$q[[:>:]]' ";

在Apache错误日志中产生以下错误:

PHP Parse error:  syntax error, unexpected '[', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

我尝试将{}放在它周围,但那也不起作用。

谢谢。

1 个答案:

答案 0 :(得分:2)

添加大括号:$search .= "and title REGEXP '[[:<:]]{$q}[[:>:]]'"; - 否则它认为您正在引用$ q数组。

PHP允许在字符串中进行数组查找,例如“... $q[...] ...”它还允许表达:"... {$a+$b} ..." 如果你添加大括号。把它们放在一起解决了这个问题。