Alex B
Alex B

Reputation: 51

Codeigniter query returning blank

I'm using the latest CodeIgniter version (3.1.4). I'm running the following basic query:

$query = $this->db->query("SELECT * FROM mytable;");

and getting a blank result - num_rows and row_data are both blank. Here's a print_r output of $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] => 
)

Can anyone help me figure out what's wrong here?

Upvotes: 3

Views: 2091

Answers (2)

ubm
ubm

Reputation: 636

I hope this change will helps you

$query = $this->db->query("SELECT * FROM mytable;");
$data = $query->result();
return $data;

you can rewrite this query in other ways

$this->db->select('*');
$this->db->from('mytable');
$data=$this->db->get();

for data result

return $data->result();

for number of rows

 return $data->num_rows();

Upvotes: 0

DFriend
DFriend

Reputation: 8964

Those values will remain blank until you call one of the methods that generate a result - documented here.

Try this

$query = $this->db->query("SELECT * FROM mytable;");
echo "Rows: ". $query->num_rows(). "<br>";
$data = $query->result();
var_dump($data);

See anything?

Upvotes: 3

Related Questions