Estoy usando la última versión de CodeIgniter (3.1.4). Estoy ejecutando la siguiente consulta básica:
$query = $this->db->query("SELECT * FROM mytable;");y obtener un resultado en blanco: num_rows y row_data están en blanco. Aquí hay una salida print_r de $query:
CI_DB_mysqli_result Object ( [conn_id] => mysqli Object ( [affected_rows] => 2 [client_info] => mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $ [client_version] => 50012 [connect_errno] => 0 [connect_error] => [errno] => 0 [error] => [error_list] => Array ( ) [field_count] => 7 [host_info] => Localhost via UNIX socket [info] => [insert_id] => 0 [server_info] => 5.6.35 [server_version] => 50635 [stat] => Uptime: 2988249 Threads: 2 Questions: 13445030 Slow queries: 9 Opens: 784 Flush tables: 1 Open tables: 469 Queries per second avg: 4.499 [sqlstate] => 00000 [protocol_version] => 10 [thread_id] => 922470 [warning_count] => 0 ) [result_id] => mysqli_result Object ( [current_field] => 0 [field_count] => 7 [lengths] => [num_rows] => 2 [type] => 0 ) [result_array] => Array ( ) [result_object] => Array ( ) [custom_result_object] => Array ( ) [current_row] => 0 [num_rows] => [row_data] => )¿Alguien puede ayudarme a averiguar qué está mal aquí?
Esos valores permanecerán en blanco hasta que llame a uno de los métodos que generan un resultado documentado aquí .
Prueba esto
$query = $this->db->query("SELECT * FROM mytable;"); echo "Rows: ". $query->num_rows(). "<br>"; $data = $query->result(); var_dump($data);¿Ver cualquier cosa?
Espero que este cambio te ayude.
$query = $this->db->query("SELECT * FROM mytable;"); $data = $query->result(); return $data;puede reescribir esta consulta de otras maneras
$this->db->select('*'); $this->db->from('mytable'); $data=$this->db->get();para resultado de datos
return $data->result();por número de filas
return $data->num_rows();