Php 如何在模型中创建插入函数

Php 如何在模型中创建插入函数,php,codeigniter,Php,Codeigniter,在控制器中,我发送的数据如下: $data=array[ 'table'=>'ci', 'where'=>'', 'val'=>['name'=>$name, 'pass'=>$pass, 'mobile'=>$mobile, 'date'=>$date, 'status'=>$status ] ]; $this->load->model('

在控制器中,我发送的数据如下:

$data=array[
    'table'=>'ci',
    'where'=>'',
    'val'=>['name'=>$name,
        'pass'=>$pass,
        'mobile'=>$mobile,
        'date'=>$date,
        'status'=>$status
    ]
];
$this->load->model('show_model');
$this->show_model->insert_data($data);
在模型代码中,我有:

<?php
class show_model extends CI_model{

    public function insert_data($data){
    }
}    
?>

我想为ci表中的数据创建一个函数,从控制器获取数据的方法是什么,以及如何为我发送的数据创建插入函数。

试试看

public function insert($data) {

    if($this->db->insert('table_name', $data)) {

         //Success

    }
}
确保已从application/config文件夹中的database.php连接到数据库


希望对您有所帮助

我想您正在尝试执行插入操作,但无法理解。让我们一步一步来。Codeigniter有一个随安装附带的数据库库。您可以在config->autoload.php中加载该库,并在config->database.php中提供数据库凭据。一切就绪

一旦加载了数据库库,就可以使用大量的数据库函数。例如

插入

 $this->db->insert('table_name',data);
 // Your data can be array of the data you want to insert
假设您希望将数据从控制器发送到模型以将其保存到db,您可以执行以下操作

 Class Controller_Name extends CI_Controller {
      public function __construct(){
          parent::__construct();
          $this->load->model('your_model');
      }

      public function index() {
          $data=array(
                      'username' => 'Your Name',
                      'email'    => 'Your Email',
                      'password' => 'Your Password'
                );
          // Send it to DB
          $this->your_model->save_data($data);
          // Show success
          echo 'Data Saved';
      }
 }
 Class Your_model extends CI_Model {
      public function __construct(){
          parent::__construct();
      }

      public function save_data($data){
          // Assuming the table name is users
          $this->db->insert('users',$data);
      }
 }
现在,在您的模型中,您将有如下功能保存数据

 Class Controller_Name extends CI_Controller {
      public function __construct(){
          parent::__construct();
          $this->load->model('your_model');
      }

      public function index() {
          $data=array(
                      'username' => 'Your Name',
                      'email'    => 'Your Email',
                      'password' => 'Your Password'
                );
          // Send it to DB
          $this->your_model->save_data($data);
          // Show success
          echo 'Data Saved';
      }
 }
 Class Your_model extends CI_Model {
      public function __construct(){
          parent::__construct();
      }

      public function save_data($data){
          // Assuming the table name is users
          $this->db->insert('users',$data);
      }
 }

您可以做很多修改和增强,前面还有很多学习,但这是一个公平的开始

不确定您是在询问有关bug的问题,还是希望我们实现您的代码?您是否有任何错误?例如,您在这里有一个语法错误:
array[
它应该是
array()
,或者在PHP7中,
[]
,但不是
array[]