我使用codeigniter
,下面是我的数组。如何将数据插入列名为sibbling_name
和sibbling_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
)
答案 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);