Php 导致Codeigniter中为空的查询

Php 导致Codeigniter中为空的查询,php,sql,codeigniter,Php,Sql,Codeigniter,我有一段用Codeigniter框架编写的PHP代码,它什么也不返回(一个空集)。 看一看,告诉我有什么问题 function sbsn($serial){ $this->db->select('asset_types.name as type_name,asset_brands.name as brand_name'); $this->db->from('asset_types,asset_brands,assets'); $this->d

我有一段用Codeigniter框架编写的PHP代码,它什么也不返回(一个空集)。 看一看,告诉我有什么问题

function sbsn($serial){
    $this->db->select('asset_types.name as type_name,asset_brands.name as brand_name');
    $this->db->from('asset_types,asset_brands,assets');
    $this->db->where('assets.type_code','asset_types.code');
    $this->db->where('assets.brand_code','asset_brands.code');
    $this->db->where('serial_no',$serial); 
    $result = $this->db->get();
    return $result;
}
更改:

$result = $this->db->get();

或者尝试使用JOIN,比如

$this->db->select('asset_types.name as type_name,asset_brands.name as brand_name');
$this->db->from('assets');
$this->db->join('asset_types', 'asset_types.code = assets.type_code', 'left');
$this->db->join('asset_brands', 'asset_brands.code = assets.brand_code', 'left');
$this->db->where('assets.serial_no',$serial); 
$result = $this->db->get()->result_array();
return $result;
更改:

$result = $this->db->get();

或者尝试使用JOIN,比如

$this->db->select('asset_types.name as type_name,asset_brands.name as brand_name');
$this->db->from('assets');
$this->db->join('asset_types', 'asset_types.code = assets.type_code', 'left');
$this->db->join('asset_brands', 'asset_brands.code = assets.brand_code', 'left');
$this->db->where('assets.serial_no',$serial); 
$result = $this->db->get()->result_array();
return $result;

您好,使用db get,您只获取结果集,不记录从结果中获取结果,您必须执行以下操作

$this->db->get()->result(); // will return an array of objects
$this->db->get()->result_array(); //will return result in pure array
$this->db->get()->row() // just single row as object
$this->db->get()->row_array() // just single row as array

you can use $result to perform the same above things
$result->result();
$result->row();

有关更多信息,请阅读“生成结果”

hi with db get您仅获取结果集,而不是记录。要从结果中获取结果,您必须执行以下操作

$this->db->get()->result(); // will return an array of objects
$this->db->get()->result_array(); //will return result in pure array
$this->db->get()->row() // just single row as object
$this->db->get()->row_array() // just single row as array

you can use $result to perform the same above things
$result->result();
$result->row();

有关读取生成结果的详细信息,请按以下方式连接表,即可轻松解决此问题

$this->db->select('at.name as type_name,ab.name as brand_name');
$this->db->from('asset_types as at,asset_brands as ab');
$this->db->join('assets as a', 'a.type_code = at.code and a.brand_code as ab.code');
$this->db->where('a.serial_no',$serial); 
$result = $this->db->get()->result_array();
return $result;

通过以下方式连接表,可以轻松解决此问题

$this->db->select('at.name as type_name,ab.name as brand_name');
$this->db->from('asset_types as at,asset_brands as ab');
$this->db->join('assets as a', 'a.type_code = at.code and a.brand_code as ab.code');
$this->db->where('a.serial_no',$serial); 
$result = $this->db->get()->result_array();
return $result;

虽然它与在视图文件中使用$result->result()作为$sth完全相同,但它在sudhir中不起作用!尝试执行echo$this->db->last_query();在get()之后;检查您的sql是否像您希望的那样….?虽然它与在视图文件中使用$result->result()作为$sth完全相同,但它在sudhir中不起作用!尝试执行echo$this->db->last_query();在get()之后;要检查您的sql是否与您希望的一样..?是否在数据库控制台中运行了等效的查询?在CodeIgniter中,能否打开查询日志记录以确保语句按预期发送到数据库服务器?Where语句是否正确?检查assets.type\u代码是否为“asset\u types.code”字符串您是否在数据库控制台中运行了等效查询?在CodeIgniter中,能否打开查询日志记录以确保语句按预期发送到数据库服务器?Where语句是否正确?检查assets.type_代码是否为“asset\u types.code”字符串