2016-10-28 10 views
1

このエラーメッセージが表示される理由は不思議です。列 'username'はnullにできません ?列 'username'はnullにできません

はI号にNullを設定


Databaseエラー発生しました

エラー番号:login INTO 1048

列 'ユーザ名' nullにすることはできません

INSERT( username,email,password,role) (NULL、NULL、 '$ 2Y $ 10 $ FaVW7V1yEDB0NnlmgwPHQ.SQi34ZCXi9ABJDOebDflZ.cqcSwZAoW'、NULL)

ファイル名値:C:/プログラム ファイル/ EasyPHP-Devserver-16.1/EDS-WWW/companygiondaci /システム/database/DB_driver.php

行番号:691

ビュー/ addusers.php

<div class="row-fluid"> 
      <div class="span12"> 

       <?php $this->load->library('form_validation'); ?> 

       <?php echo $successmessage; ?> 

       <?php echo validation_errors(); ?> 

       <?php echo form_open('cpages/addusersdb'); ?> 

       <div class="widget-box"> 
        <div class="widget-title"><h5>Add User</h5></div> 
        <div class="widget-content"> 

        <table border="0" style="width: 100%; height: 90px;"> 
         <tr> 
          <td>USERNAME</td> 
          <td><input type="text" name="username"></td> 
         </tr> 
         <tr> 
          <td>EMAIL</td> 
          <td><input type="text" name="email"></td> 
         </tr> 
         <tr> 
          <td>PASSWORD</td> 
          <td><input type="password" name="password"></td> 
         </tr> 
         <tr> 
          <td>ROLE</td> 
          <td><?php echo form_dropdown('roles', $options, 'administrator'); ?></td> 
         </tr> 
         <tr> 
          <td></td> 
          <td><input type="submit" class="edit" value="ADD"></td> 
         </tr>       
        </table>    
        </div> 
       </div>     
      </div> 
     </div> 

モデル/ Mpages.php

public function add_user() 
{ 
    $options = [ 
     'roles' => 'administrator', 
    ]; 

    $hash = password_hash($this->input->post('password'), PASSWORD_BCRYPT, $options); 

    $data = array(
     'username' => $this->input->post('username'), 
     'email' => $this->input->post('email'), 
     'password' => $hash, 
     'role' => $this->input->post('roles')  
    );  

    return $this->db->insert('login', $data); 

} 
+0

'allow null'に設定してください –

+0

** allow nullは解決策ではありません**このエラーのみ解決策を確認して修正してください。 –

+0

フォーム検証ライブラリをビューに読み込んでいるのはなぜですか? http://www.codeigniter.com/user_guide/libraries/form_validation.html#the-controllerあなたは本当にユーザーガイド – user4419336

答えて

1
if($this->input->post()) { 

      $hash = password_hash($this->input->post('password'), PASSWORD_BCRYPT, $options); 

      $data = array(
       'username' => $this->input->post('username'), 
       'email' => $this->input->post('email'), 
       'password' => $hash, 
       'role' => $this->input->post('roles')  
      ); 
      $this->YOUR_MODEL->add_user($data); 
    } 

これはあなたのコントローラに行く必要があります。

そして、あなたのモデル関数は、この

public function add_user($data) 
{  

    return $this->db->insert('login', $data); 

} 
0

ようにする必要がありますさてあなたは言う:これはNULL値を許可しないという意味で、私はいいえこれにNullを設定していますがNULL値を送信していますか...?

関連する問題