2016-03-20 4 views
-1

Это мой код в модели ..Фатальная ошибка: Вызов функции-члена NUM_ROWS()

function installed(){ 
    $query_str = "SHOW TABLES"; 
    $query = $this->db->query($query_str); 
    if($query->num_rows() == 0){ 
     redirect('install'); 
    } 
} 

Так много вопросов, на StackOverflow, но я не нашел ни одного ответа, связанный со сценарием. Так что я делаю неправильно?

+0

'num_rows' не является функцией, это переменная. Вместо этого попробуйте '$ query-> num_rows'. – Qirel

+0

@Qirel Нет Я использую PDO, это будет функция, я думаю – nisha

+0

'num_rows' - ​​это переменная' mysqli_', а не PDO. Попробуйте ['$ query-> rowCount()'] (http://php.net/manual/en/pdostatement.rowcount.php), но эта функция может не всегда работать со всеми базами данных. Прочтите документацию. – Qirel

ответ

0

Я бы предположил, что ваш $this->db является экземпляром mysqli. Следовательно, при вызове ->query(...) должен быть успешный экземпляр mysqli_result. Таким образом, ваш $query должен просто быть объектом mysqli_result, и, следовательно, num_rows должен быть свойством, а не функцией вообще. Вы используете это неправильно.

Просьба указать здесь: http://php.net/manual/en/mysqli-result.num-rows.php. Там есть образец кода.

Итак, что указано в Qirel.

Смежные вопросы