Database CodeIgniter将0而不是字符串值放入数据库

Database CodeIgniter将0而不是字符串值放入数据库,database,forms,codeigniter,Database,Forms,Codeigniter,我正试图用CodeIgniter构建一个小博客,出于某种原因,我将表单数据库条目0而不是字符串。我试着手动把它通过控制器,它工作了。表格中有什么问题 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class site_model extends CI_Model { var $title = ''; var $content = ''; var $date

我正试图用CodeIgniter构建一个小博客,出于某种原因,我将表单数据库条目0而不是字符串。我试着手动把它通过控制器,它工作了。表格中有什么问题

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class site_model extends CI_Model {

    var $title   = '';
    var $content = '';
    var $date    = '';

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

    function get_records()
    {
        $query = $this->db->get('posts');

        return $query->result();
    }

    function add_records($data) {

        $this->db->insert('posts', $data);

        return;
    }

    function updata_records($data) {

        $this->db->where('postID', $id);
        $this->db->updata('posts', $data);
    }

    function delede_roe() {

        $this->db->where('postID', $this->uri->segment(3));
        $this->db->delete('posts');
    }
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

标题
内容

控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class site 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()
    {
        $this->load->view('home');
    }

    function add_post() {

        $this->load->view('add_post');
    }

    function creata() {

        $data = array (
            'title' => $this->input->post('title'),
            'post' => $this->input->post('content')
        );

        $this->load->model('site_model');
        $this->site_model->add_records($data);
    }
}

/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */

您的控制器功能应该如下所示:

function creata() {
    if( $this->input->post(null) ){ //enter if the form is submitted
        $data = $this->input->post(null, true); // get all the data of the post
        print_r( $data );die; // see the post data 
        $this->load->model('site_model');
        $this->site_model->add_records($data);
        $this->session->set_flashdata('msg', 'A msg to show to the user about the insertion');
        redirect('site/creata', 'refresh');
    }else{  //load the form
        $this->load->view('home');
    }
}
你的表格看起来不错。您的模型可以包含一个额外的行来查看查询

function add_records($data) {
    $this->db->insert('posts', $data);
    $this->db->last_query(); die; //check the query it's executing.
    return;
}

谢谢你的回复。需要注意的是,该脚本在本地主机上运行良好,只有当我将其上载到服务器时,问题才会出现。我检查了数据库和相同的设置。拟议修正案也无法解决问题。您是否已从
url
中删除
index.php
?它在服务器上正常工作吗?是的,我添加了一个htaccess文件。一切正常,除了这个表单是的,我从配置文件中的base_url中删除了这个域,结果成功了。谢谢
function add_records($data) {
    $this->db->insert('posts', $data);
    $this->db->last_query(); die; //check the query it's executing.
    return;
}