2016-03-20 15 views
-1

Dies ist mein Code in Modell ..Fatal error: Call auf eine Elementfunktion num_rows()

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

So viele Fragen auf Stackoverflow, aber ich habe keine Antwort im Zusammenhang mit Szenario gefunden. Was mache ich also falsch?

+0

'num_rows' ist keine Funktion, es ist eine Variable. Probieren Sie stattdessen '$ query-> num_rows' aus. – Qirel

+0

@Qirel Nein Ich benutze PDO es wird eine Funktion sein Ich denke – nisha

+0

'num_rows' ist eine' mysqli_' Variable, nicht eine PDO. Versuchen Sie ['$ query-> rowCount()'] (http://php.net/manual/en/pdostatement.rowcount.php), aber diese Funktion funktioniert möglicherweise nicht immer mit allen Datenbanken. Lesen Sie die Dokumentation. – Qirel

Antwort

0

Ich würde davon ausgehen, dass Ihre $this->db eine mysqli Instanz ist. Wenn Sie also einen ->query(...) Anruf tätigen, erhalten Sie eine mysqli_result Instanz für den Erfolg. So sollte Ihr $query einfach ein mysqli_result Objekt sein, und daher sollte num_rows eine Eigenschaft sein, keine Funktion überhaupt. Du benutzt es falsch.

Hier klicken: http://php.net/manual/en/mysqli-result.num-rows.php. Sie haben dort einen Beispielcode.

Also was Qirel erwähnt ist richtig.

Verwandte Themen