消息:array_keys()和db上的查询

时间:2012-03-06 13:34:58

标签: codeigniter

我是CI的新手,我写了一些代码来对我的数据库执行查询。 我的代码就像关注

My_Controller

class MY_Controller extends CI_Controller
{
   var $data;
   var $header_data;
 var $topmenu_data; 
 var $leftmenu_data;
 var $rightmenu_data;
   var $middle_data;
 var $footer_data;

 function __construct($props = array())
 {
  parent::__construct($props);
  $this->data   = array();
  $this->header_data = array();
  $this->topmenu_data = array();
  $this->leftmenu_data= array();
  $this->rightmenu_data= array();
    $this->middle_data = array();
  $this->footer_data = array();
  $this->errorbox_data= array();
 }
}

我的群组控制器

class Groups extends My_Controller {

    function __construct()
    { 
  parent::__construct();
  $this->load->model('model_group');
  $this->load->model('model_post_comment');
  $this->load->model('model_event');
 }

    function create_group()
    {
        $userId = 100;
        $groupName = "TEST";

        $data = array('user_id' => $userId,
        'group_name' => $groupName,
        'db_add_date' => date('Y-m-d H:i:s'),
        'db_update_date' => date('Y-m-d H:i:s')
       );

        $r = $this->model_group->group_saveusers($data);

        $array=array(
                     "result"=>$r
      );

 echo json_encode($array);
    }
} 

这是我的模特

class Model_group extends CI_Model {
    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

    function group_saveusers($group_data)
    {
 $this->db->insert_batch('my_table',$group_data);

 if($this->db->affected_rows()>0){
  $group_id = $this->db->insert_id();
 }

 return $group_id;
    }
} 

调用

下面的网址
http://mydomain/groups/create_group/

我收到以下错误

A PHP Error was encountered
Severity: Warning
Message: array_keys() [function.array-keys]: The first argument should be an array
Filename: database/DB_active_rec.php
Line Number: 1109

我错过了什么吗?

由于

1 个答案:

答案 0 :(得分:2)

insert_batch()期待一个数组数组(每个数组包含行数据)。它应该只用于一次插入多行,如果你不需要那么只使用insert()。

因此传递一个数组数组或使用insert()。