我想在我的MySQL数据库上搜索你的名字"列,具有不区分大小写的正则表达式。
Select * from customers where name regexp '.$some_var.';
它似乎无法正常工作。
答案 0 :(得分:2)
您可以尝试
$result = $this->db->where('name like binary "'.$some_var.'"', NULL, FALSE)
->get('customers')
->result();
答案 1 :(得分:1)
我通常会这样做:
$some_var = mb_strtolower($some_var);
"SELECT * FROM `customers` WHERE LOWER(`name`) REGEXP '" . $some_var . "'";
OR
"SELECT * FROM `customers` WHERE LOWER(`name`) REGEXP CONCAT('[[:<:]]', ? , '[[:>:]]')";
或你的正则表达式使用的任何替代[[:&lt; /&gt;:]]和你使用的一样。
答案 2 :(得分:1)
试试这个
SELECT * FROM `customers` WHERE LOWER(name) REGEXP '.strtolower($some_var).';