2016-03-20 26 views
-1

Bu modelde benim kodudur için StackOverflow'dakiÖnemli hata: .. üye işlev NUM_ROWS()

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

Yani birçok soru Çağrı ama senaryo ile ilgili herhangi bir cevap bulamadım. Yani ne yapıyorum yanlış?

+0

'num_rows' bir işlev değil, bir değişken. Bunun yerine '$ query-> num_rows' deneyin. – Qirel

+0

@Qirel Hayır PDO kullanıyorum bir işlev olacağını düşünüyorum – nisha

+0

'num_rows' bir 'mysqli_' değişkeni, bir PDO değil. ['$ Query-> rowCount()'] 'ı (http://php.net/manual/en/pdostatement.rowcount.php) deneyin, ancak bu işlev her zaman tüm veritabanlarıyla çalışmayabilir. Belgeleri okuyun. – Qirel

cevap

0

$this->db ürününüzün mysqli örneğidir. Bu nedenle, bir ->query(...) çağrısı yapmak, başarı konusunda size bir mysqli_result örneği vermelidir. Yani, $query, mysqli_result nesnesi olmalıdır ve bu nedenle num_rows bir özellik olmalıdır, bir işlev olmamalıdır. Yanlış kullanıyorsun.

Buraya tıklayın: http://php.net/manual/en/mysqli-result.num-rows.php. Orada örnek bir kod var.

Yani Qirel'in bahsettiği doğrudur.

İlgili konular