可能重复:
调用非对象上的成员函数bind_param()
我得到以下错误:
Call to a member function bind_param() on a non-object
以下是准备好的声明:
include('/path/to/connection/variable.php');
这个文件被验证是有效的——它只是创建了一个mysqli类的实例,例如:
$mysqli = new mysqli("localhost", "user", "password", "db");
所以我知道这不是问题。。。
$stmt = $mysqli->prepare("INSERT INTO `users` VALUES (?,?,?,?,?,?,?)");
$stmt->bind_param("sssssss", $firstname, $lastname, $email, $subscribed, $signup_date, $unsubscribe_date, $signup_source);
$stmt->execute();
$stmt->close();
$mysqli->close();
变量类型如下:
$firstname = string
$lastname = string
$email = string
$subscribed = char (Y or N)
$signup_date = DATE - date('Y-m-d')
$unsubscribe_date = DATE - 0000-00-00 Entered Initially
$signup_source = string
我试着找到了所有常见的嫌疑人,检查了连接,基本上我写了一个单独的SELECT语句,它很有效。"USERS"是一个有效的表。连接的权限是根权限,所以这不是问题所在。我在"s"one_answers"d"之间切换了日期的类型,甚至尝试了所有使用伪变量的方法——没有区别。
我希望这是一件简单的事情——因为在过去的一个小时里,我一直在绞尽脑汁,我看不出上面的说法有什么错。
这通常意味着->prepare()
调用失败,并返回布尔值FALSE而不是语句对象。检查:
$stmt = $mysqli->prepare("INSERT INTO `users` VALUES (?,?,?,?,?,?,?)") or die($mysqli::error);
为了回答您的问题,您可以执行以下操作:
INSERT INTO tableName (column1, column2, column3,...)
VALUES (value1, value2, value3,...)