2014-05-20 34 views
1

我使用的是codeigniter,下面是我的數組。如何將數據插入列名爲sibbling_namesibbling_age的數據庫中。將數組插入到sqldatabase列中

我試過一個CI教程,但它顯示我有錯誤,因爲0,1,2不是db中的字段。當然是如何將[0]變成'sibbling_name'列和[0] sibblingAge變成'sibbling_age'列?

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

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

你到目前爲止嘗試過什麼?你做了什麼工作或不工作?向我們展示您的相關模型中的代碼,並且您更有可能在此獲得幫助。 – Craine

+0

我想你可以在這裏找到答案:http://ellislab.com/codeigniter – Eddie

+0

是'sibblingName'和'sibblingAge'分開的數組? – user1978142

回答

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); 
+0

感謝kevinabelita你的代碼工作完美。謝謝 – user3654785