在我的查询中,我有:
$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/