在我的 CodeIgniter2 模型中,我使用
like()
查询来获取名字为 rice
的所有产品,该产品不是工作控制器。
如果我使用
get_where('name')
而不是 like()
,效果很好。
public function fetchdeal_products($id) {
$this->db->select('*');
$this->db->from('products');
$q = $this->db->like("name", $id);
if ($q->num_rows() > 0) {
foreach (($q->result()) as $row) {
$data[] = $row;
}
return $data;
}
}
数据库
LIKE
函数仅在SQL语句中创建LIKE。之后您仍然需要调用 GET
方法;像这样;
$this->db->like('name', $id);
$q = $this->db->get();
您错误地使用了 $this->db_like() 。
$this->db->like('title', 'match');
// Produces: WHERE title LIKE '%match%'
(来自文档)
在你的情况下,用法是
$this->db->like('name', 'rice')
public function fetchdeal_products($id)
{
$query = $this->db->query("Select products.* From products Where (products.name Like '%$id%')");
$result = $query->result_array();
return $result;
}
你必须像下面这样写。
public function fetchdeal_products($id) {
$this->db->like("name", $id);
$q = $this->db->get('products');
if ($q->num_rows() > 0) {
foreach (($q->result()) as $row) {
$data[] = $row;
}
return $data;
}
}