我正在尝试从数据库中搜索产品,然后在视图中显示。但这向我显示了一个错误……
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: database/DB_active_rec.php
Line Number: 679
这是控制器的代码
function search_prd()
{
$query = $this->input->post();
$this->load->model('prd/addprd');
$prd_search = $this->addprd->prd_search($query);
$this->load->view('prd_search', ['prd_search' => $prd_search]);
}
这段代码是MODEL
function prd_search($query)
{
$q = $this->db->from('purchase')
->like('item_name', $query)
->get();
return $q->num_rows();
}
答案 0 :(得分:2)
CI的input->post()
是一个包含POST数据的数组。 CI的活动记录like()
的第二个参数需要一个字符串。如果要传递单个字段值,则需要访问该索引:
<input name="search_value">
$query = $this->input->post('search_value'); //notate the field being used here
然后您可以在以下位置查询
:$this->db->like('column', $query); //query is now a string
或者,如果您打算传递整个数组,则可以使用where_in()
$this->db->where_in('column', $query); //if you assign $query to $this->input->post();