Сообщение: array_keys () и запрос по БД - PullRequest
0 голосов
/ 06 марта 2012

Я новичок в 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;
    }
} 

Вызов приведенного ниже URL

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 Ответ

2 голосов
/ 06 марта 2012

insert_batch () ожидает массив массивов (каждый из которых содержит данные строки). Его следует использовать только для вставки более одной строки за раз, если вам не нужно это делать, просто используйте insert ().

Передайте массив массивов или используйте insert ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...