Codeigniter调用非对象上的成员函数num_rows()

时间:2017-04-08 11:31:48

标签: php mysql codeigniter

模型文件中的功能:

function get_user_by_email($email)
{
    //$this->consumer->where('email=', strtolower($email));
    //$query = $this->consumer->get($this->table_name); 

    $query = $this->db->query('CALL get_user_by_email("'.strtolower($email).'")');
    echo $query->num_rows();
}

此函数返回错误Call to a member function num_rows() on a non-object in,而同一文件中的其他函数返回行计数。还尝试了活动记录查询。但查询也会返回相同的错误。

我也尝试使用result(), result_array()。但是一切都给了我错误。

由于

2 个答案:

答案 0 :(得分:0)

尝试

$email = strtolower($email);    
$query = $this->db->query("CALL get_user_by_email('$email')");
if(is_object($query)){
    echo $query->num_rows();
}else{
    echo "Query Failed";
}

您可能需要将$email括在大括号中以确定它的评估结果。

$query = $this->db->query("CALL get_user_by_email('{$email}')");

答案 1 :(得分:0)

在调用存储过程之前,我使用$this->db->reconnect();重新连接到数据库。这解决了问题