PHP 准备语句...将变量绑定(bind)为 REGEXP 中的数字范围?

标签 php mysql regex pdo

$query = "SELECT * FROM `mytable` WHERE `file` REGEXP '[:val-9]'";
$stmt = $dbh->prepare($query);
$stmt->bindValue(':val', '1'); //I have also tried 1 without quotes
$stmt->execute();

抛出这个错误:

Syntax error or access violation: 1139 Got error 'invalid character range' from regexp

这有可能吗..

最佳答案

占位符只能用在值可以出现的地方,不能嵌入字符串中。尝试:

$query = "SELECT * FROM `mytable` WHERE `file` REGEXP CONCAT('[', :val, '-9]')";

关于PHP 准备语句...将变量绑定(bind)为 REGEXP 中的数字范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548926/

相关文章:

javascript - 将 php true 或 false 值分配给 JS var

php - 在选择框中保留所选值

php - 如何在php结果字符串中添加逗号

php - MySQL 更改表查询的正确语法是什么?

php - Jquery live ('change',function()不会触发下拉菜单

java - 如何使用 Java 正则表达式解析骰子符号?

php - 使用 CURL 和 PHP 的 POST 请求无法正常工作

c++ - 应如何使用 C++11 Regex 从存储在文本文件中的表创建变量?

regex - 非结构化文本的Key-Value抽取方式有哪些?

php - 实时获取 Ratchet php中断开连接的客户端的客户端资源ID