1

ここでのすべての答えを明確にするために、問題なく動作します! 彼が最初に投稿したので、私は Edwins を選びました。

$this -> load -> model('staff_model');
            $this -> load -> library('encrypt');

            $arrData = array(
                'anum' => $this -> encrypt -> encode($this->input->post('anum')),
                'first' => $this -> input -> post('fname'),
                'last' => $this -> input -> post('lname'),
                'why' => $this -> input -> post('why'),
                'aidyear' => $this -> input -> post('aidyear'),
                'signintime' => NULL,
                'comments' => $this -> input -> post('comments'),
                );

            if ($insert = $this -> staff_model -> session($arrData)) {
                redirect('staff_controller/signin_info');
            } else {
                $this -> studentlogin();
            }

モデル :

function session($arrData) {
    $null = NULL;
    $sql2 = "INSERT INTO session (anum, first, last, why, aidyear, signintime, studentcomments) 
             VALUES (?, ?, ?, ?, ?, ?, ?)";
    $insert = $this -> db -> query($sql2, $arrData);

    return $insert;

}
4

3 に答える 3

2

このように配列変数を定義することはできません。に変更してみてください。

$data = array (
                    'encrypted' => $this->encrypt->encode('anum'),
                    'first' => $this->input->post('first'),
                    'last'  => $this->input->post('last'),
                    'aidyear' => $this->input->post('aidyear'),
                    'why' => $this->input->post('why'),
                    'comments' => $this->input->post('comments'),
       );
于 2013-02-22T04:01:27.353 に答える
1

これをコントローラーで使用します。

$arrData = array();

//このような配列フィールドでデータベーステーブルと同じ名前を使用します

    $arrData['anum'] = $this->encrypt->encode('anum');
    $arrData['first'] = $this->input->post('first');
    $arrData['last'] = $this->input->post('last');
    $arrData['aidyear'] = $this->input->post('aidyear');
    $arrData['why'] = $this->input->post('why');
    $arrData['studentcomments'] = $this->input->post('comments');

  if ($this -> staff_model -> session($arrData)) {
                redirect('staff_controller/signin_info');
  }

そして、モデルで使用するだけです

// 配列内で既に同じフィールド名を使用しているため、変数名を記述する必要はありません

function session($arrData)
     {
       if($this->db->insert($arrData))
          return true;
        else
          return false;
      }
于 2013-02-22T06:22:54.027 に答える
1

コントローラ

$this -> load -> model('staff_model');
$this -> load -> library('encrypt');
$this->load->library('form_validation');
$this->load->helper('url');

//validate form input
        $this->form_validation->set_rules('anum', 'Anum', 'required');

        other validation rules
                .....

        if ($this->form_validation->run() == FALSE)
        {
                  redirect('back to previous page through controller');
        }else{


    $data = array (
                    'encrypted' => $this->encrypt->encode('anum'),
                    'first' => $this->input->post('first'),
                    'last'  => $this->input->post('last'),
                    'aidyear' => $this->input->post('aidyear'),
                    'why' => $this->input->post('why'),
                    'comments' => $this->input->post('comments'),
       );

     if ($insert = $this -> staff_model -> session($data)) {
         print_r($insert);
    }
}

モデル

function session($data) {

        $query= $this->db->insert('session', $data); //insert into session table
            return $query->result();
} 
于 2013-02-22T05:46:19.267 に答える