0

このSQLクエリのようなことをする必要がありますが、コードイグナイターで:

SELECT `table`.* FROM (`table`) WHERE `name` LIKE '%9%' OR `id` LIKE '%9%' AND (`name` LIKE '%f%' OR `id` LIKE '%f%')

私はこのコードを実行しようとしました:

$this->db->select('table.*');
$this->db->from('table');
foreach($data as $d){
    $this->db->like("name", $d)
    $this->db->or_like("id", $d);
}

しかし、SQLの結果は次のとおりです。

SELECT `table`.* FROM (`table`) WHERE `name` LIKE '%9%' OR `id` LIKE '%9%' AND `name` LIKE '%f%' OR `id` LIKE '%f%'

ありがとう

4

2 に答える 2

0
$this->db->select('*');
$this->db->from('tablename');
$this->db->like('name','9','both');
$this->db->or_like('id','9','both');
$this->db->like('name','f','both');
$this->db->or_like('id','f','both');
于 2013-12-06T10:29:50.197 に答える
0

CI v2 には括弧がありません。次のように where() 関数を使用する必要があります。

 ->where('mysql in here', null, true);

この場合、null は単なるプレースホルダーです。TRUE は ` (バッククォート) を追加しないようにします。詳細については、ユーザー ガイドを参照してください。

于 2013-11-02T22:32:57.550 に答える