在我的查询中,我有:

$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)


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

谢谢。

最佳答案

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

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

关于php - 如何在MySQL正则表达式中使用PHP字符串插值和方括号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38754710/

10-11 01:34
查看更多