簡體   English   中英

Codeigniter數據庫錯誤:列不存在

[英]Codeigniter Database Error: Column doesnt exist

我已經在線學習了一些有關學習CodeIgniter框架的教程。 我已經嘗試過進行登錄和注冊功能,並且一切都應該正常工作,但是在我提交注冊表格后,它卻將我射回了這個錯誤。

發生數據庫錯誤

錯誤編號: 1054

“字段列表”中的未知列“ user_name”

INSERT INTO'users'('user_name','user_password_hash','user_email')VALUES('Test2','$ 2a $ 08 $ cAkWVsvkaXvaumfcxW0gAOx2mBZMhIXxDpTQpHkOVme8l.1r9mok2','11

/www/application/models/user_model.php

行號:41

User_model.php第41 User_model.php$this->db->insert('users');

public function add_user()
{
    $passunhash = $this->input->post('password');
    $passhash = $this->bcrypt->hash_password($passunhash);
    $uname = $this->input->post('user_name');
    $opin = $this->input->post('pin');

    $this->db->set('user_name', $uname);
    $this->db->set('user_password_hash', $passhash);
    $this->db->set('user_email', $opin);
    $this->db->insert('users');
}

database.php配置文件已被編輯為包含正確的數據庫名稱。

我不知道為什么它會給我這個數據庫錯誤。 該列確實存在。 CodeIgniter可能有問題嗎?

正如zack tanner在運行SHOW COLUMNS FROM yourDB.users;的注釋中提到的SHOW COLUMNS FROM yourDB.users; 從mysql命令行返回包含mysql客戶端可以讀取的所有列。

我的PHPMYADMIN正在獲取舊數據,因此從命令行運行會顯示實時信息。 我能夠通過命令行完成其余命令,以便重新構建數據庫

這可能無法解決您的問題,但在插入用戶時可以使用data array();。 並且沒有多個db-> set()

public function add_user() {

$passunhash = $this->input->post('password');
$passhash = $this->bcrypt->hash_password($passunhash);

$data = array(
    'user_name' => $this->input->post('user_name'),
    'user_password_hash' => $passhash,
    'user_email' => $this->input->post('pin')
);

$this->db->set($data);
$this->db->insert($this->db->dbprefix . 'users');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM