codeigniter:在数据库中插入数据

时间:2016-06-20 11:40:34

标签: php mysql codeigniter

我正在尝试将发布的数据插入数据库,如下所示。

public function submit_signup(){
            if($this->input->post('submit')){
                $user_data['data']=array(
                    'username'   =>     $this->input->post('username'),
                    'email'      =>     $this->input->post('email'),
                    'password'   =>     $this->input->post('password'),
                    'mobile'     =>     $this->input->post('mobile') 
                );
            }
            $this->load->model('user_model');
            if($this->user_model->register_user($user_data)){
                echo 'data entered';
            }
            $this->load->view('templates/header');
            $this->load->view('test',$user_data);
            $this->load->view('templates/footer');
        }

我的模特:

class user_model extends CI_Model {
    public function __construct() {
        parent::__construct();
    }

    public function register_user($data){
        if(!$this->db->insert('user',$data)) {
            echo 'Data not entered';
        }
        return true; 
    }
}

当我按表格时,这就是我得到的

  

遇到PHP错误

     

严重性:注意

     

消息:数组到字符串转换

     

文件名:mysql / mysql_driver.php

需要你的帮助

3 个答案:

答案 0 :(得分:0)

将您的数组设为

 $user_data=array(
                    'username'   =>     $this->input->post('username'),
                    'email'      =>     $this->input->post('email'),
                    'password'   =>     $this->input->post('password'),
                    'mobile'     =>     $this->input->post('mobile') 
                );

删除['data']部分。然后将其用于插入查询

检查manuall

答案 1 :(得分:0)

为什么不将确切数组 $ user_data ['data'] 传递给模型函数

if($this->user_model->register_user($user_data['data']))
{
    echo 'data entered';
}

答案 2 :(得分:0)

将数据插入数据库,您可以尝试以下操作:

$this->load->model('user_model');

$user_data=[
  'username'   =>     $this->input->post('username'),
  'email'      =>     $this->input->post('email'),
  'password'   =>     $this->input->post('password'),
  'mobile'     =>     $this->input->post('mobile') 
];
$this->user_model->register_user($user_data)

//没有模型

$this->db->insert('table_name', $user_data);