数据没有插入到codeigniter数据库中
实际上我有学生记录在$ students数组中,并且$ students中有另一个数组,名称是skill [],这是一个复选框表单字段名称,所以请告诉我如何使用json_encode和where。数据没有插入到codeigniter数据库中
输入形式
<td>ENTER SKILLS</td>
<td>
<input type="checkbox" name="skills[]" value="php">php<br>
<input type="checkbox" name="skills[]" value="dotnet">dotnet<br>
<input type="checkbox" name="skills[]" value="java">java<br>
<input type="checkbox" name="skills[]" value="ruby_on_rails">ruby_on_rails<br>
</td>
控制器
<?php
public function insert(){
if ($this->input->post('add')==true)
{
$student = array('name' => $this->input->post('name'),
'email' => $this->input->post('email'),
'skills' => $this->input->post(json_encode(skills)),
'notes' => $this->input->post('notes'),
'gender' => $this->input->post('gender'));
$result = $this->Student_info_model->insertStudent($student);
if($result==true){
echo "inserted";
}
else {
echo "Not Inserted";
}
}
}
?>
模型
function insertStudent($student){
$this->db->insert('student_info_table', $student); // insert data into "student_info_table" table`
if ($this->db->affected_rows() > 0) {
return true;
}
else {
return false;
}
}
错误
Error Number: 1048
Column 'skills' cannot be null
INSERT INTO `student_info_table` (`name`, `email`, `skills`, `notes`, `gender`) VALUES ('gailyn', '[email protected]', NULL, 'dsas', 'male')
Filename: C:/xampp/htdocs/codeigniter/system/database/DB_driver.php
Line Number: 691
据我了解,您想从http请求中获取技能数组,然后对其进行编码并将其保存到数据库中。为此,请使用json_encode($this->input->post('skills')
而不是$this->input->post(json_encode(skills))
,因此您首先获取数据,然后将json编码应用于其上。
感谢它的工作@Radu弗拉德 – mickey
试试这个:json_encode($this->input->post('skills'))
您需要得到使用输入岗位技能的价值,然后根据需要将其转换使用json_encode
谢谢@ Sandeep.K它的工作。 – mickey
这是什么:'$这个 - >输入 - >后(json_encode(技能)) '?只有技能? –
它显示“插入”还是“未插入”? – wallyk
是的,哪里出了问题? –