2016-09-21 18 views
0

実際に私は$ students配列の学生レコードを持っていますが、名前はスキル[]で、チェックボックスのフォームフィールド名である$ students内に別の配列があります。 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 
+0

を使用してそれを変換する必要があります: 'の$ this - >入力 - >ポスト(json_encode(スキル)) '?スキルだけ? –

+1

「挿入済み」または「挿入されていません」と表示されますか? – wallyk

+0

ええ、どこが間違っていますか? –

答えて

2

私の知る限りでは、httpリクエストからスキルの配列を取得し、それをエンコードしてデータベースに保存したいと思っています。そのためには$this->input->post(json_encode(skills))の代わりにjson_encode($this->input->post('skills')を使用してください。最初にデータを取得してからjsonエンコーディングを適用してください。

+0

を挿入してくれてありがとう@Radu Vlad – mickey

0

これを試してみてください:json_encode($this->input->post('skills'))あなたが入力ポストを使用してスキルの値を取得する必要があり、その後、この何であるかjson_encode

+0

@ Sandeep.Kに感謝します。 – mickey

関連する問題