将数组插入sql数据库中的列

时间:2014-05-20 02:29:47

标签: php mysql arrays codeigniter

我使用codeigniter,下面是我的数组。如何将数据插入列名为sibbling_namesibbling_age的数据库中。

我尝试了一个CI教程,但它显示了一个错误,因为0,1,2不是db中的字段。当然是如何将[0]更改为'sibbling_name'列,将sibblingAge中的[0]更改为'sibbling_age'列?

[sibblingName] => Array
    (
        [0] => Ryan Yaohari
        [1] => Rico Yaohari
        [2] => Rino Yaohari
    )

[sibblingAge] => Array
    (
        [0] => 23
        [1] => 21
        [2] => 19
    )

1 个答案:

答案 0 :(得分:2)

根据manual,如果您想要插入批处理,则需要使用$this->db->insert_batch();。但在此之前,您需要首先正确格式化您的值。 考虑这个例子:

$sibblingName = array('Ryan Yaohari', 'Rico Yaohari', 'Rino Yaohari');
$sibblingAge = array(23, 21, 19);
$insert_values = array();
for($x = 0, $size = count($sibblingName); $x < $size; $x++) {
    $insert_values[$x] = array(
        'sibbling_name' => $sibblingName[$x],
        'sibbling_age' => $sibblingAge[$x],
    );
}
print_r($insert_values);
// format should be something like this:

// Array
// (
//     [0] => Array
//         (
//             [sibbling_name] => Ryan Yaohari
//             [sibbling_age] => 23
//         )
//     [1] => Array
//         (
//             [sibbling_name] => Rico Yaohari
//             [sibbling_age] => 21
//         )
//     [2] => Array
//         (
//             [sibbling_name] => Rino Yaohari
//             [sibbling_age] => 19
//         )
// )

// and of course in the end, use the insert_batch method.
$this->db->insert_batch('mytable', $insert_values);