我测试了这个功能,但它不起作用,也没有产生查询结果。怎么了我的新手。有没有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();
}
答案 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();