4

たとえば、これらの変数がある場合:

$variable1 = "ABCDEFG";
$variable2 = "AbCDefG";

そしてこれらのようなdbのようなもの:

ABCDEFG
IJKLMNO
PQRSTUV
...

そして、私がこのようなlike()メソッドを使おうとすると:

function get_users()
{

    $q = $this->db->select('*')
                  ->from('users')
                  ->order_by('created asc')
                  ->like('username', $variable1)
                  ->get();
    return $q;

}

結果はOKで、データベースからABCDEFGレコードが見つかります。

ただし、大文字と小文字を使用して$ variable2を渡すと、結果はなしになります。

function get_users()
{

    $q = $this->db->select('*')
                  ->from('users')
                  ->order_by('created asc')
                  ->like('username', $variable2)
                  ->get();
    return $q;

}

、これは間違っています。小文字か大文字かを無視する必要があるためです。

これを解決する方法は?

ところで。私のdb照合はutf8_general_ciです

4

1 に答える 1

15

これを試してください:

function get_users()
{

    $q = $this->db->select('*')
                  ->from('users')
                  ->order_by('created asc')
                  ->like('LOWER(username)', strtolower($variable2))
                  ->get();
    return $q;

}
于 2012-11-28T11:46:04.900 に答える