sql查询中的正则表达式和变量

时间:2013-01-13 15:57:01

标签: sql regex variables sql-like

我试图在段落中搜索一个单词:
WHERE paragraph LIKE '%$term%'

但如果我正在搜索“{”作为{{1我也会得到“反对”,“阅读”等等所以我想要空格之间的$ term。 $term似乎不起作用,术语可以在标点符号之前或之后。

我读过% $term %RLIKE,但可以在变量周围使用正则表达式吗?

1 个答案:

答案 0 :(得分:1)

您应该使用mysqli prepared statements来避免SQL注入漏洞:

$stmt = $db->prepare("select * from table where paragraph regexp ?")
$stmt->bind_param('s', "[,. ]{$term}[,. ]")