【发布时间】:2018-09-28 08:38:44
【问题描述】:
我在表中一行的一个字段中有多个 ID,由 + 分隔
点赞:(123+21654+412+12387)
我只需要完全匹配,(例如:只有“123”而不是“123 & 12387”)
我的代码是这样的:
$var = $value['id'];
$result = mysqli_query($this->dbh, "SELECT id FROM table
WHERE id REGEXP '[[:<:]]$var[[:>:]]' ");
我在 REGEXP 中使用变量时遇到问题。
如果是:
$result = mysqli_query($this->dbh, "Select id FROM table
WHERE id REGEXP '^$id|[\+]$id' ");
它有效,但它不只返回完全匹配
【问题讨论】:
-
单词边界的确切问题是什么?你的 MySQL 版本是多少?
-
我的 MySQL 版本是:5.5.32
-
问题出在哪里?
-
我无法将 PHP 变量放入包含 REGEXP 的 MySQL 查询中
-
好吧,
"SELECT id FROM table WHERE id REGEXP '[[:<:]]" . $var . "[[:>:]]' "应该可以了。