使用 Code Igniter 3 的简单表单到数据库不起作用

Simple form to database with Code Igniter 3 not working

我正在尝试制作一个用户可以填写的基本表单,以便在提交时将表单插入到数据库中。

在浏览量中:

<?php echo form_open_multipart(); 
echo form_input(array('id' => 'timeDate', 'name' => 'timeDate'),'','required');
echo form_input(array('id' => 'timeStart', 'name' => 'timeStart'),'','required');
echo form_input(array('id' => 'timeEnd', 'name' => 'timeEnd'),'','required');
echo form_submit('submit' ,'Submit'); 
form_close(); ?>

在控制器中:

if(!empty($_POST['submit'])) {
    $this->load->model('scheduler');
    $timeDate = $_POST['timeDate'];
    $timeStart = $_POST['timeStart'];
    $timeEnd = $_POST['timeEnd'];
    $this->scheduler->add($poll, $timeDate, $timeStart, $timeEnd);
}

在模型中:

public function Add($idPoll, $timeDate, $timeStart, $timeEnd) {
    if($this->checkUnique($idPoll, $timeDate, $timeStart, $timeEnd)) {
        
        $this->db->set('idPoll', $idPoll)
        ->set('timeDate', $timeDate)
        ->set('timeStart', $timeStart)
        ->set('timeEnd',  $timeEnd)
        ->insert($this->table);
    }
}

table:

CREATE TABLE `scheduler` (
    `idScheduler` int(11) UNSIGNED NOT NULL,
    `idPoll` varchar(64) NOT NULL,
    `timeDate` int(15) UNSIGNED NOT NULL DEFAULT 1111,
    `timeStart` int(15) UNSIGNED NOT NULL DEFAULT 1111,
    `timeEnd` int(15) UNSIGNED NOT NULL DEFAULT 1111
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我看不出有什么问题,但它就是不起作用(我可以在控制台中插入,但无法使用表单自动插入)

有什么原因吗?谢谢!

难道你没有传递 'idScheduler' 并且不能为 NULL?

你有没有在某处定义“$this->table”?尝试使用 table 名称。