使用Codeigniter框架将数据插入数据库不起作用


inserting data into database using codeigniter framework not working

为什么插入操作不起作用,我的数据库不接受我尝试插入的数据。我已经使用自动加载配置来加载数据库和New_model类。

New_controller.php

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class New_controller extends CI_Controller {
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *      http://example.com/index.php/welcome
     *  - or -  
     *      http://example.com/index.php/welcome/index
     *  - or -
     * Since this controller is set as the default controller in 
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see http://codeigniter.com/user_guide/general/urls.html
     */
    public function index($id)
    {
        //$this->load->model("New_model");
        $data["posts"]=$this->New_model->database($id);
        $this->load->view("New_view",$data);
    }
    public function insert_post()
    {
            $this->New_model->create([  
            'post_title'=>'health is wealth',
            'post_description'=>'as we know health is a gift of nature we should take care of our self',
            'post_author'=>'krishna',
            'post_date'=>'2016-01-19'
            ]);
    }
}
?>

我使用自动加载配置来加载类New_model一切似乎都很好,但我的插入操作不起作用

New_model.php
<?php
class New_model extends CI_Model {
    public function database($id)
    {
        //$this->load->database();
        //$sql=$this->db->query("SELECT * FROM posts");
        $this->db->where("id",$id);
        $sql=$this->db->get("posts");
        $result=$sql->result_array();
        return $result;
    }
    public function create($data)
    {
        $this->db->insert("posts",$data);
    }
}
?>

试试这个

将其更改为

$this->New_model->create([  
            'post_title'=>'health is wealth',
            'post_description'=>'as we know health is a gift of nature we should take care of our self',
            'post_author'=>'krishna',
            'post_date'=>'2016-01-19'
            ]);

$data = array(
        'post_title'=>'health is wealth',
        'post_description'=>'as we know health is a gift of nature we should take care of our self',
        'post_author'=>'krishna',
        'post_date'=>'2016-01-19'
    );
$this->New_model->create($data);

要插入数据,您必须将数组创建为

function insert_post() {
    $datanew = array(
        'post_title' => 'health is wealth',
        'post_description' => 'as we know health is a gift of nature we should take care of our self',
        'post_author' => 'krishna',
        'post_date' => '2016-01-19'
    );
    $this->New_model->create($datanew);
}

阅读 http://www.codeigniter.com/userguide2/database/queries.html