我在codeigniter中的sql命令不起作用

时间:2011-07-21 13:01:31

标签: sql codeigniter activerecord records

我测试了这个功能,但它不起作用,也没有产生查询结果。怎么了我的新手。有没有AR替代品?我试图创建一个迷你搜索引擎。非常感谢提前。

function search($terms)
{
  $sql = "SELECT * FROM products 
          WHERE name LIKE '%$terms%' 
            OR image LIKE '%$terms%' 
            OR code LIKE '%$terms'");
    $query = $this->db->query($sql, array($terms, $terms));
    return $query->result();
}

1 个答案:

答案 0 :(得分:0)

要将查询与传递给函数的数据绑定,您必须执行以下操作:

$sql = "SELECT * FROM products 
          WHERE name LIKE ? 
            OR image LIKE ?
            OR code LIKE ?";

$this->db->query($sql, array($terms,$terms,$terms));

同样在我们发布的代码中,从字符串$ sql中删除额外的括号,并且当查询需要3时,您只绑定两个值

试试这个:

$sql = "SELECT * FROM products 
          WHERE name LIKE ? 
            OR image LIKE ?
            OR code LIKE ?";
$this->db->like('name', $terms);
$this->db->like('image', $terms);
$this->db->like('code', $terms);
$query=$this->db->get();