【发布时间】:2013-06-02 11:48:04
【问题描述】:
所以,我刚刚完成了我正在编写的一个非常简单的脚本的基础编码,但它正在返回
Fatal error: Call to a member function bind_param() on a non-object in
C:\wamp\www\gamepal\quoter\includes\function.php on line 26
现在我检查了第 26 行并得出结论,这是由于上述准备失败,但我无法终生锻炼为什么它失败了,我已经完成了几页上列出的步骤关于显示错误,检查连接等,它并没有让我更接近解决问题。如果有人能解释为什么下面的代码会失败,那将不胜感激!
我已将以下代码精简到最低限度,直到我可以正常运行为止,如果有人能看到 bind_param 失败的原因,如果你能指出它并可能提供参考解释,我将不胜感激以后不要再这样做了,提前谢谢你。
config.php;
<?php
$host = 'localhost';
$username= 'root';
$password = '';
$db = 'testdb';
$con = mysqli_connect($host, $username, $password, $db);
if ( !$con ) {
die('Unable to connect to database');
}
mysqli_select_db($con,"testdb") or die("Unable to connect to testdb");
?>
函数.php;
include_once "config.php";
$quote = $_POST['quote'];
$quoteby = $_POST['quoteby'];
$execute = $con->prepare("INSERT INTO `quoter` VALUES (?, ?)");
$execute->bind_param('ss', $quote, $quoteby);
$execute->execute();
$execute->close();
?>
【问题讨论】:
-
另一个链接,只是为了让你的人不会感到孤独:Mysqli update throwing Call to a member function bind_param() error
-
修复了问题,问题是我有 3 个表字段,但我的 SQL 查询中只有 2 个参数,我添加了 (quote, quoteby) VALUES(?,?) 现在它正在工作,抱歉为了打扰大家,这完全超出了我的想象,因为我相信 AUTO_INC 意味着它会自动排除该表字段。