大文字と小文字を区別しない正規表現を使用して、MySQL データベースの「名前」列を検索したいと考えています。
Select * from customers where name regexp '.$some_var.';
機能していないようです。
大文字と小文字を区別しない正規表現を使用して、MySQL データベースの「名前」列を検索したいと考えています。
Select * from customers where name regexp '.$some_var.';
機能していないようです。
あなたはのように試すことができます
$result = $this->db->where('name like binary "'.$some_var.'"', NULL, FALSE)
->get('customers')
->result();
私は通常、次のようなことをします:
$some_var = mb_strtolower($some_var);
"SELECT * FROM `customers` WHERE LOWER(`name`) REGEXP '" . $some_var . "'";
OR
"SELECT * FROM `customers` WHERE LOWER(`name`) REGEXP CONCAT('[[:<:]]', ? , '[[:>:]]')";
または正規表現が使用するものは何でも [[:< / >:]] を使用するものに置き換えます。