我正试图获取段(3),并将其插入到带有会话ID的新表中,但我被卡住了。。有的想法吗
型号
function old_report_create()
{
$reportID = $this->input->post('ReportID');
$userID_staff = $this->session->userdata('StaffID');
if (isset($reportID) && isset($userID)) {
$new_read = array(
'ReportID' => $reportID,
'StaffID' => $userID_staff,
);
return $this->db->insert('Read_Report', $new_read);
}
return FALSE;
}
查看
<?= form_open('main/add_old_report'); ?>
<?= form_hidden('ReportID', $this->uri->segment(3)); ?>
<p><input type="submit" value="Read Report"/></p>
</form>
控制器
function add_old_report()
{
if ($query = $this->report_model->old_report_create()) {
$this->session->set_flashdata('messagetwo', 'You marked report as read');
redirect('main/comments/' . $_POST['ReportID']);
} else {
$this->session->set_flashdata('messagetwo', 'Sorry not this time');
redirect('main/comments/' . $_POST['ReportID']);
}
}
您必须使用以下内容更新您的模型函数:
模型功能:
function old_report_create()
{
$reportID = $this->input->post('ReportID');
$userID = $this->session->userdata('StaffID');
if (isset($reportID) && isset($userID)) {
$new_read = array(
'ReportID' => $reportID,
'StaffID' => $userID,
);
$this->db->insert('Read_Report', $new_read);
return $this->db->insert_id();
}
return FALSE;
}
希望这将有助于解决您的问题
也许字段类型是错误的。因为,codeigniter在值附近添加引号。所以Mysql将它们读取为String,而不是预期的类型?
$new_read = array(
'ReportID' => (int)$reportID,
'StaffID' => $userID_staff
);