2015-10-09 54 views
1

我沒有看到這裏的問題...問題與「呼叫對非對象的成員函數」

錯誤:「致命錯誤:調用一個成員函數bind_param()非物體上C:\瓦帕\ WWW \正在進行\ MTG \線64" 上的index.php

$stmt = $mysqli -> prepare("INSERT INTO `" . $database . "`.`users` VALUES(NULL, ?, ?, 0);"); 
    echo $mysqli -> error; 
$stmt -> bind_param('ss', $username, $password); 
$stmt -> execute(); 
$stmt -> close(); 

這是問題的代碼塊和它周圍的線條。我唯一能想到的是,也許$ mysqli在這個實例中沒有被正確定義? $ mysqli和$ database是在一個必需的文件中定義的,並且所有其他引用它們的函數都可以正常工作。

有什麼簡單的我在這裏失蹤?

回答

0

您的$stmt可能未定義,因爲上一行(prepare)失敗。 它基本上調用bind_param()一個失敗的準備語句,這恰好是一個錯誤或什麼。

+0

如果失敗的準備工作是來源,有關如何進一步診斷問題的任何建議?除了發佈內容之外,它不會產生任何錯誤。 – Styles2304

+0

閱讀**相關** –

+0

我一直無法找到原因,但在'$ stmt'聲明之前加上'mysqli_report(MYSQLI_REPORT_ALL)'。它可能有助於確定它有什麼問題。 –

相關問題