我已经实现了一个查询来显示我的表的行数,查询已在模型中实现,并且该函数已在控制器类中调用,但它会抛出下一个文本:
CI_DB_mysqli_result对象([conn_id] => mysqli对象( [affected_rows] => 1 [client_info] => mysqlnd 5.0.11-dev - 20120503 - $ Id:76b08b24596e12d4553bd41fc93cccd5bac2fe7a $ [client_version] => 50011 [connect_errno] => 0 [connect_error] => [errno] => 0 [错误] => [error_list] => Array()[field_count] => 1 [host_info] =>本地主机 通过TCP / IP [info] => [insert_id] => 0 [server_info] => 5.5.5-10.1.21-MariaDB [server_version] => 50505 [stat] =>正常运行时间:8603个主题:1个问题:1350慢查询:0打开:38个表格:1 打开表:每秒32个查询平均值:0.156 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 61 [warning_count] => 0) [result_id] => mysqli_result对象([current_field] => 0 [field_count] => 1 [长度] => [num_rows] => 1 [type] => 0) [result_array] => Array()[result_object] =>数组() [custom_result_object] => Array()[current_row] => 0 [num_rows] => [row_data] => )
数据库
模型
<?php
class Entregas_Model extends CI_Model {
public function __construct() {
parent::__construct();
// Your own constructor code
$this->load->database();
}
//Para obtener el número de filas
//y así determinar el número de plazas
public function get_rows($idCarga) {
$this->db->select('COUNT(idCarga)');
$this->db->from('entregas');
$this->db->join('intervalosHorarios', 'entregas.idCarga = intervalosHorarios.idIntervaloHorario');
//$this->db->on('entregas.idCarga = intervalosHorarios.idCarga');
$this->db->where('entregas.idIntervaloHorario', $idCarga);
$q = $this->db->get();
//$q = $q->result_array();
print_r($q);
return $q;
}
}
控制器(简短版)
public function entregas_lista($idCarga) {
$crud = new grocery_CRUD();
$this->Entregas_Model->get_rows($idCarga);
}
我做错了什么?
答案 0 :(得分:2)
为了简单起见,您应该更改Query Builder
一点,如下所示:
$this->db->from('entregas');
$this->db->join(/*Join Parameters*/);
$this->db->where('entregas.idIntervaloHorario', $idCarga);
$q = $this->db->count_all_results(); //q should contain integer that represent your records count
在其他情况下,您想获得一条记录或所有记录,您应该向get
添加另一项功能,如下所示:
$this->db->get()->row(); //return 1 row
$this->db->get()->result(); //return all matched rows
答案 1 :(得分:1)
使用以下行查看与数据库相关的信息:
$this->output->enable_profiler(TRUE);
它将显示当前调用堆栈中运行的所有数据库查询。或者,您可以在查询运行后使用下面的行,以仅打印查询。
$this->db->last_query();