错误号码:1054未知列Codeigniter
我有一个代码从表中检索链接在一起的数据。下面的代码错误号码:1054未知列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
感谢您的帮助
试试下面
public function getNama($key)
{
$this->db->select('nama');
$this->db->where('iduser',"$key");
$hasil = $this->db->get('tmember');
return $hasil;
}
由于使用设置在函数的第三个参数false
。
$this->db->where('idtraining', $key, false);
如果设置为false且值为字符串,那么不保护值(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.
因为它是'string',需要引号。 –
但我有数组到字符串转换错误 –
@AhmadFaza请确保变量'$ key'不是一个数组。 –
where
方法
第三个参数是逃生
$this->db->where('idtraining', $key, true); //
更好读到这里
尝试使用' TWO00000' –
删除'false'并重试。 '$ this-> db-> where('iduser',$ key);' –
@AfshanShujat; 'TWO00000'来自控制器的$ key参数 –