我正在应用此查询:
$this->db->select_max('product_id');
$this->db->from('products');
$query=$this->db->get();
return $query->result();
从表中获取最大值。
但是当我在另一个表中将此结果添加到db时。像这样:
$this->db->insert('images',$product_id);
显示此错误: 错误号码:1054
Unknown column 'Array' in 'field list'
INSERT INTO `images` (`product_id`) VALUES (Array)
Filename: C:\wamp\www\system\database\DB_driver.php
Line Number: 330
我正在使用codeigniter。
答案 0 :(得分:1)
您在输入中应用了一个数组,我已经更新了您的代码
型号代码
$this->db->select_max('product_id');
$this->db->from('products');
$query=$this->db->get();
return $query->result_array();
控制器代码
$product_id = $this->Product_area_model->get_product_id();
$data['product_id'] = $product_id[0]['product_id'];
$result = $this->your_model->foo($data);
型号代码
function foo($data = ''){
$this->db->insert('images',$data);
return $this->db->insert_id();
}
答案 1 :(得分:0)
希望它对你有用......
SELECT id,
min(time_insert),
max(time_insert)
FROM
your_table t1
WHERE
status = 'Accepted'
AND time_insert > (
SELECT
nvl(max(time_insert), to_date('01-JAN-1970', 'DD-MON-YYYY'))
FROM
your_table
WHERE
status = 'Failed'
AND id = t1.id
)
GROUP BY id
答案 2 :(得分:0)
Codeigniter允许您指定值数组作为要插入的数据,但我认为您的问题是您正在插入数组数组。
如果是这种情况,请使用批次功能...
$data = array(
array(
'title' => 'My title' ,
'name' => 'My Name' ,
'date' => 'My date'
),
array(
'title' => 'Another title' ,
'name' => 'Another Name' ,
'date' => 'Another date'
)
);
$this->db->insert_batch('mytable', $data);
// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date')