Php 由于未知原因返回致命错误的MySQLi查询
所以,我刚刚完成了一个非常简单的脚本的基本代码,除了返回的脚本Php 由于未知原因返回致命错误的MySQLi查询,php,mysqli,Php,Mysqli,所以,我刚刚完成了一个非常简单的脚本的基本代码,除了返回的脚本 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行,得出结论,这是由于上述准备失败,除了我不能为我的生活锻炼为什么失败,我已经通过了几页上列出的步骤,关于显示错误,检查连接等
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
function.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();
?>
不是有效的查询。您不应该引用参数placeholders,并且语句末尾不应该有分号(但不确定后者是否给出了实际错误)
该错误使prepare
返回FALSE
,它没有名为bind_param()
的方法,该方法给出了您得到的确切错误消息
不是有效的查询。您不应该引用参数placeholders,并且语句末尾不应该有分号(但不确定后者是否给出了实际错误)
该错误使prepare
返回FALSE
,它没有名为bind_param()
的方法,该方法给出了您得到的确切错误消息。是否删除“”引号
$execute=$con->prepare(“插入quoter
VALUES(?);” 是否删除上的“”引号
$execute=$con->prepare(“插入
quoter
VALUES(?);” 下面是Ben F的评论
将您的查询更改为
$execute = $con->prepare("INSERT INTO `quoter` (qutote, quoteby) VALUES (?, ?)");
这样,在插入行时不需要指定
id
值。遵循Ben F
的注释
将您的查询更改为
$execute = $con->prepare("INSERT INTO `quoter` (qutote, quoteby) VALUES (?, ?)");
这样,在插入行时,您不需要指定
id
值。还有一个链接,只是为了让您的链接不感到孤独:修复了问题,问题是我有3个表字段,但我的SQL查询中只有2个参数,我添加了(quote,quoteby)值(?),现在它正在工作,很抱歉打扰大家,这完全出乎我的意料,因为我相信AUTO_INC意味着它将自动排除该表字段。这是否回答了您的问题?还有一个链接,只是为了让你的人不感到孤独:修复了问题,问题是我有3个表字段,但我的SQL查询中只有2个参数,我添加了(quote,quoteby)值(?),现在它工作了,很抱歉打扰大家,这完全出乎我的意料,因为我相信AUTO_INC意味着它将自动排除该表字段。这是否回答了您的问题?即使修复了上述错误(我在尝试使其工作时输入了这些错误),它仍然返回与$execute=$con->prepare完全相同的错误(“INSERT-INTOquoter
VALUES(?)”;我真的不明白,我是直接从mysqli的php.net网站上了解到这一点的,所以这不会错吧所以,问题可能是这个表有3个字段,id quote和quoteby,但我只定义了2个。问题是id是AUTO_INC,所以我不明白为什么我必须插入它:抱歉,伙计们,我只是在学习mysqlien,即使在修复了上面的错误(我试图让它工作)之后,它仍然返回与$execute=$con->prepare完全相同的错误(“插入quoter
值(?);我真的不明白,我是直接从mysqli的php.net网站上了解到这一点的,所以这不会错吧所以,问题可能是这个表有3个字段,id quote和quoteby,但我只定义了2个。问题是id是AUTO_INC,所以我不明白为什么我必须插入它:抱歉,伙计们,我只是在学习mysqlien,即使在修复了上面的错误(我试图让它工作)之后,它仍然返回与$execute=$con->prepare完全相同的错误(“插入quoter
值(?);即使修复了上述错误(我在尝试使其工作时输入了这些错误),它仍然返回与$execute=$con->prepare完全相同的错误(“INSERT-INTOquoter
VALUES(?)”;我想我在你发布这篇文章的同时评论了我的第一篇文章,不过谢谢你的帖子,几秒钟之前,你会给我更多的帮助。我想我在你发布这篇文章的同时评论了我的第一篇文章,谢谢你的帖子,几秒钟之前,你会给我更多的帮助。
$execute = $con->prepare("INSERT INTO `quoter` (qutote, quoteby) VALUES (?, ?)");