2015-10-09 126 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)'。它可能有助于确定它有什么问题。 –

相关问题