无法使用Codeigniter将值插入数据库

艾希什·辛格(Ashish Singh)

尝试使用codeigniter将表单值插入数据库中,但没有发生任何变化。我的表单是comment_form.php就像,

<?php echo validation_errors(); ?>
<?php echo form_open('news/comment_form'); ?>

Name<input type="text" name="comment_name"></input><br />
Email<input type="text" name="comment_email"></input><br />
Comment<input type="text" name="comment_body"></input><br />
<input type="submit" name="submit" value="Comment it" ></input>

</form>

这是我的控制器comments.php

class Comments extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model('comment_model');
    }

    public function create_comment()
    {
        $this->load->helper('form');
        $this->load->library('form_validation');


        //$data['title'] = 'Create a news item';

        $this->form_validation->set_rules('comment_name', 'comment_name', 'required');
        $this->form_validation->set_rules('comment_email', 'comment_email', 'required');
        $this->form_validation->set_rules('comment_body', 'comment_body', 'required');

        if ($this->form_validation->run() === FALSE) {
            $this->load->view('templates/header', $data);
            $this->load->view('news/comment_form');
            $this->load->view('templates/footer');
        } else {
            $this->news_model->set_comment();
            $this->load->view('news/success');
        }
    }
}

这是我的模型comment_model.php

class Comment_model extends CI_Model
{

    public function __construct()
    {
        $this->load->database();
    }


    public function set_comment()
    {
        //$this->load->helper('url');

        //$slug = url_title($this->input->post('title'), 'dash', TRUE);

        $datac = array(
            'comment_name' => $this->input->post('comment_name'),
            'comment_email' => $this->input->post('comment_email'),
            'comment_body' => $this->input->post('comment_body')
        );

        return $this->db->insert('comments', $datac);
    }
}

问题是,每当我提交表单时,它都不会返回任何内容,就像什么都没有发生。请帮助。

帕特里克·曼瑟(Patrick Manser)

在您的comment_form.php中进行更改

echo form_open('news/create_comment');

echo form_open('comments/create_comment');

为什么?因为您给form_open()的第一个参数是action参数。它将打开一个表单标签,如<form action="bla">而且news / create_comment不是您要调用的正确页面。您的控制器被命名comments,这就是您放的原因comments/create_comment

在您的comment.php中更改

$this->news_model->set_comment();

$this->comment_model->set_comment();

为什么?只是简单地指向错误的模型。也许是复制粘贴错误?

在您的comment_model.php中删除

$this->load->database();

并将其加载到您的config.php中(在librarys数组中,添加“ database”)。

为什么?恕我直言,这是更合适的解决方案。您可能会经常使用数据库,那么为什么每次都要加载该数据库?

如果您仍然遇到问题,那么我们需要更多信息。到底什么是行不通的。为我们做一些调试。在调用$this->news_model->set_comment()var_dump($this->db->last_query());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用codeigniter将选项值插入数据库

来自分类Dev

无法使用CodeIgniter插入数据库

来自分类Dev

无法将值插入数据库

来自分类Dev

使用codeigniter框架将数据插入数据库无法正常工作

来自分类Dev

使用Codeigniter 3将数据插入数据库

来自分类Dev

无法在codeigniter中插入数据库

来自分类Dev

无法插入到数据库 CodeIgniter

来自分类Dev

无法使用 setNull 将空值插入使用 Java 的 MySql 数据库中?

来自分类Dev

无法使用Ajax将数据插入数据库

来自分类Dev

无法使用Django将数据插入数据库

来自分类Dev

无法使用 AJAX 将数据插入 mysql 数据库

来自分类Dev

无法使用 PHP 将数据插入 Postgres 数据库

来自分类Dev

我无法使用 .get() 函数将值插入到数据库中

来自分类Dev

无法将数据插入数据库

来自分类Dev

无法将数据插入数据库

来自分类Dev

无法使用php在数据库中插入值

来自分类Dev

无法使用php在数据库中插入值

来自分类Dev

使用pdo将表单值插入mysql数据库

来自分类Dev

使用JOOQ将NaN值插入Postgresql数据库

来自分类Dev

使用bash将值插入sqlite数据库

来自分类Dev

如何使用 jquery/ajax 将值插入数据库?

来自分类Dev

使用php将值插入数据库

来自分类Dev

如何使用laravel将数组值插入数据库

来自分类Dev

无法将数据插入多个数据库Codeigniter(MongoDB和MySQL)

来自分类Dev

将数组值插入数据库

来自分类Dev

试图将值插入数据库

来自分类Dev

将数组值插入数据库

来自分类Dev

将arraylist的值插入数据库

来自分类Dev

将组合值插入数据库