0

我有以下功能:

function saveCOA() {
    $labref = $this->uri->segment(3);   
    $data = $this->input->post('compedia');
    $data1 = $this->input->post('specification');
    count($data) == count($data1); 
    for ($i = 0; $i < count($data); $i++) {
        $insert_data = array(
            'labref' => $labref, //NDQA201303001                
            'compedia' => $data[$i],
            'specification' => $data1[$i]
        );
        $this->db->insert('coa_body', $insert_data);
    }

它保存得很好,但现在我已经修改了它,如下所示:

$labref=$this->uri->segment(3);
$test_id=  $this->getRequestedTestIds($labref);
$data = $this->input->post('compedia');
$data1 = $this->input->post('specification');
count($data) == count($data1) && count($data)==  count($test_id); 
for ($i = 0; $i < count($data); $i++) {
    $insert_data = array(
        'labref' => $labref, //NDQA201303001 - Same for all the rows
        'test_id'=>$test_id[$i], //added array
        'compedia' => $data[$i],
        'specification' => $data1[$i]
    );
    $this->db->insert('coa_body', $insert_data);
}

$test_id 的值通过如下方式打印出来print_r()

Array ( [0] => Array ( [test_id] => 5 ) [1] => Array ( [test_id] => 7 ) [2] => Array ( [test_id] => 9 ) [3] => Array ( [test_id] => 10 ) ) 

我添加了数组$test_id,它返回:

Error Number: 1054

Unknown column 'Array' in 'field list'

INSERT INTO `coa_body` (`labref`, `test_id`, `compedia`, `specification`) VALUES ('NDQA201303001', Array, 'Alphy', 'poxy')

Filename: C:\xampp\htdocs\NQCL\system\database\DB_driver.php

Line Number: 330

我错过了什么?

4

1 回答 1

1

看起来$test_id[$i]or$test_id[0]是一个包含键的数组,test_id所以你给一个 mysql 查询一个数组。而是这样做:

'test_id' => $test_id[$i]['test_id'], //added array

例如。print_r($test_id[0])会给你:

Array ( [test_id] => 5 )

我希望你能明白。祝你今天过得愉快。

于 2013-05-19T18:45:53.247 回答