![](/img/trans.png)
[英]Database Error Occurred: error number 1054 unknown column in codeigniter
[英]Error Number: 1054 Unknow Column Codeigniter
我有一個代碼,可以從鏈接在一起的表中檢索數據。 這是代碼
public function getdatamentor($key)
{
$this->db->select('iduser');
$this->db->where('idtraining', $key, false);
$hasil= $this->db->get('ttraining');
$this->getNama($hasil->result());
}
public function getNama($key)
{
$this->db->select('nama');
$this->db->where('iduser', $key, false);
$hasil = $this->db->get('tmember');
return $hasil;
}
但是它返回錯誤
Error Number: 1054
Unknown column 'TWO00000' in 'where clause'
SELECT `iduser` FROM `ttraining` WHERE idtraining = TWO00000
Filename: C:/xampp/htdocs/gofastforex/system/database/DB_driver.php
Line Number: 691
謝謝你的幫助
因為在where函數的第三個參數中使用set false
。
$this->db->where('idtraining', $key, false);
如果設置為false並且value為字符串,則在其中不保護value(Lib無法自動添加單引號)。 不受保護的是,值將被視為字段名稱。 因此,您應該將其刪除或設置為true
。
$this->db->where('idtraining', $key);
轉換為SQL:
SELECT `iduser` FROM `ttraining` WHERE idtraining = TWO00000 # Before remove
SELECT `iduser` FROM `ttraining` WHERE idtraining = 'TWO00000' # After remove
^ ^
Lib added single quote to protected.
在第三PARAM where
的方法是逃生
$this->db->where('idtraining', $key, true); //
最好在這里閱讀
在下面嘗試
public function getNama($key)
{
$this->db->select('nama');
$this->db->where('iduser',"$key");
$hasil = $this->db->get('tmember');
return $hasil;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.