Welcome Guest, Not a member yet? Register   Sign In
INSERT BATCH issue
#1

[eluser]behnampmdg3[/eluser]
Hi, why do I get this error? My array looks ok!

Quote:Error Number: 1054

Unknown column 'Array' in 'field list'

INSERT INTO `TACTIFY_card_orders` (`0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`) VALUES (Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array, Array)
Code:
$this->db->select('id');
$this->db->from('TACTIFY_cardDetails');
$this->db->limit($members_counters." DESC");
$query = $this->db->get();
foreach ($query->result() as $row)
{
  $card_order[]= array('order_id' => $order_id, 'card_id' => $row->id);
}
print_r($card_order);
$this->db->insert('TACTIFY_card_orders', $card_order);
Code:
Array ( [0] => Array ( [order_id] => 3 [card_id] => 721 ) [1] => Array ( [order_id] => 3 [card_id] => 757 ) [2] => Array ( [order_id] => 3 [card_id] => 758 ) [3] => Array ( [order_id] => 3 [card_id] => 759 ) [4] => Array ( [order_id] => 3 [card_id] => 760 ) [5] => Array ( [order_id] => 3 [card_id] => 761 ) [6] => Array ( [order_id] => 3 [card_id] => 762 ) [7] => Array ( [order_id] => 3 [card_id] => 763 ) [8] => Array ( [order_id] => 3 [card_id] => 764 ) [9] => Array ( [order_id] => 3 [card_id] => 765 ) [10] => Array ( [order_id] => 3 [card_id] => 766 ) [11] => Array ( [order_id] => 3 [card_id] => 767 ) [12] => Array ( [order_id] => 3 [card_id] => 768 ) [13] => Array ( [order_id] => 3 [card_id] => 769 ) [14] => Array ( [order_id] => 3 [card_id] => 770 ) [15] => Array ( [order_id] => 3 [card_id] => 771 ) [16] => Array ( [order_id] => 3 [card_id] => 772 ) [17] => Array ( [order_id] => 3 [card_id] => 773 ) [18] => Array ( [order_id] => 3 [card_id] => 774 ) [19] => Array ( [order_id] => 3 [card_id] => 775 ) [20] => Array ( [order_id] => 3 [card_id] => 776 ) )
Thanks
#2

[eluser]jonez[/eluser]
Code:
$this->db->insert('TACTIFY_card_orders', $card_order);
Should be:
Code:
$this->db->insert_batch('TACTIFY_card_orders', $card_order);

If it's possible for $card_order to be empty (first query returns no results) you should add a check above the insert statement.

Code:
if ( count( $card_order) > 0 ) {
    $this->db->insert_batch('TACTIFY_card_orders', $card_order);
}




Theme © iAndrew 2016 - Forum software by © MyBB