2017-05-07 6 views
1

私はCodeIgniterを使用しています。私はデータベースにデータを入力するフォームを持っていますが、ここで問題が発生しました。 "Student_Name in 012ktin codeigniter"があります。私は試しましたが、これまで解決できませんでした。codeigniterの 'フィールドリスト'の 'Student_Name'列が不明です。ファイル名:E:/xampp/htdocs/codeIgniter/CodeIgniter-3.1.4/system/database/DB_driver.php

ここに私のコードです。

ビューファイル Userinsert_view.php

<html> 
<head> 
<title>Insert Data Into Database Using CodeIgniter Form</title> 
</head> 
<body> 

<div id="container"> 
<?php echo form_open('Userinsert_controller'); ?> 
<h1>Insert Data Into Database Using CodeIgniter</h1><hr/> 
<?php if (isset($message)) { ?> 
<CENTER><h3 style="color:green;">Data inserted successfully</h3></CENTER><br> 
<?php } ?> 
<?php echo form_label('Student Name :'); ?> <?php echo form_error('dname'); ?><br /> 
<?php echo form_input(array('id' => 'dname', 'name' => 'dname')); ?><br /> 

<?php echo form_label('Student Email :'); ?> <?php echo form_error('demail'); ?><br /> 
<?php echo form_input(array('id' => 'demail', 'name' => 'demail')); ?><br /> 

<?php echo form_label('Student Mobile No. :'); ?> <?php echo form_error('dmobile'); ?><br /> 
<?php echo form_input(array('id' => 'dmobile', 'name' => 'dmobile', 'placeholder' => '10 Digit Mobile No.')); ?><br /> 

<?php echo form_label('Student Address :'); ?> <?php echo form_error('daddress'); ?><br /> 
<?php echo form_input(array('id' => 'daddress', 'name' => 'daddress')); ?><br /> 

<?php echo form_submit(array('id' => 'submit', 'value' => 'Submit')); ?> 
<?php echo form_close(); ?><br/> 
<div id="fugo"> 

</div> 
</div> 
</body> 
</html> 

コントローラファイル Userinsert_controller.php

<?php 

class Userinsert_controller extends CI_Controller { 

    function __construct() { 
     parent::__construct(); 
     $this->load->model('Userinsert_model'); 
    } 

    function index() { 
     //Including validation library 
     $this->load->library('form_validation'); 

     $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); 

     //Validating Name Field 
     $this->form_validation->set_rules('dname', 'Username', 'required|min_length[5]|max_length[15]'); 

     //Validating Email Field 
     $this->form_validation->set_rules('demail', 'Email', 'required|valid_email'); 

     //Validating Mobile no. Field 
     $this->form_validation->set_rules('dmobile', 'Mobile No.', 'required|regex_match[/^[0-9]{10}$/]'); 

     //Validating Address Field 
     $this->form_validation->set_rules('daddress', 'Address', 'required|min_length[10]|max_length[50]'); 

     if ($this->form_validation->run() == FALSE) { 
      $this->load->view('Userinsert_view'); 
     } else { 
      //Setting values for tabel columns 
      $data = array(
       'Student_Name' => $this->input->post('dname'), 
       'Student_Email' => $this->input->post('demail'), 
       'Student_Mobile' => $this->input->post('dmobile'), 
       'Student_Address' => $this->input->post('daddress') 
      ); 
      //Transfering data to Model 
      $this->Userinsert_model->form_insert($data); 
      $data['message'] = 'Data Inserted Successfully'; 
      //Loading View 
      $this->load->view('Userinsert_view', $data); 
     } 
    } 

} 

?> 

モデルファイル Userinsert_model.php

<?php 

class Userinsert_model extends CI_Model{ 

    function __construct() { 
     parent::__construct(); 
    } 

    function form_insert($data){ 
     // Inserting in Table(students) of Database(college) 
     $this->db->insert('students', $data); 
    } 
} 

?> 
+0

データベースのフィールド名と一致するようにしてください。資本があるかどうかを確認してください。あなたがデータベースに持っている正確なフィールド名を渡す – Exprator

答えて

1

目的のデータベース列に値を渡すのは間違いです。確か$データ配列のキーを作成し、データベースのテーブルに同じ列名を持つ存在:

$data = array('Student_Name' => $this->input->post('dname'), 'Student_Email' => $this->input->post('demail'), 'Student_Mobile' => $this->input->post('dmobile'), 'Student_Address' => $this->input->post('daddress')); 

あなたはStudent_nameインデックスに値を渡していると、それがテーブルに存在する必要があります。大文字と小文字を区別する列名について注意してください。

まだ問題がある場合は教えてください。

+0

よ、yess !!あなたは絶対にスポットにいた!大変ありがとうございました@ abhishek singh –

+0

ようこそ! –

関連する問題