1
當我與我的自定義功能,我得到這個錯誤執行的MySQLi查詢...庫MySQLi查詢工作不正常
Fatal error: Call to a member function execute() on a non-object in /Applications/MAMP/htdocs/RevFramework/Application/Model/Engine/eMySQLi.php on line 92
我真的不知道什麼是錯的......也就是說,如果我設置$類型和$ params爲null,否則我相信call_user_func_array
也會拋出一個錯誤。
public function query($SQL, $types = null, $params = null)
{
$this->result = $this->db->prepare($SQL);
if(isset($types) && isset($params))
{
$bind_names[] = $types;
for ($i = 0; $i < count($params); $i++)
{
$bind_name = 'bind' . $i;
$$bind_name = $params[$i];
$bind_names[] = &$$bind_name;
}
call_user_func_array(array($this->result, 'bind_param'), $bind_names);
}
$this->result->execute();
}
查詢是這樣做的:
$class->query("SELECT name FROM rev_widgets ORDER BY order");
我完全不知道什麼可能是錯誤的。
任何幫助表示讚賞!
行$ this-> result = $ this-> db-> prepare($ SQL);'沒有返回你所期望的。你可以發佈'vardump($ this-> result)'的輸出嗎?此外,您可能希望查閱[PDO :: prepare手冊](http://php.net/manual/en/pdo.prepare.php)以獲取關於它拋出的錯誤和異常的更多信息。 –
'var_dump($ this-> result);'returns'bool(false)'。而且,謝謝,但我使用MySQLi,將檢查它。 –
bool(false)表示您的'result'字段不包含任何對象。也許你的'db-> prepare()'方法失敗了。 – ariefbayu