在这个MySQL查询中,我一直在发牢骚。
假设我有这个:
$add = "INSERT INTO books (title) VALUES(?)";
if ($stmt = $mysqli->prepare($add)) {
$arr = array($title);
foreach ($arr as $value) {
echo var_dump($value);
}
$stmt->bind_param("s", $title);
有了那个Foreach
-
string 'Medieval Times (History)' (length=24)
int 1422843281
int 1420844341
string '127.0.0.1' (length=9)
string 'MY_EMAIL@gmail.com' (length=22)
string '' (length=0)
int 1420844805
int 6
int 3
int 1
int 0
int 0
int 1
int 1
int 1
int 1
当它碰到这条线时就会停止,我得到了这个错误:
致命错误:在第386行的C:\wamp\www\book\dashboard.php中调用非对象上的成员函数bind_param()
第386行:$stmt-
所以,我知道我正在导入16个变量。。。我得到这个错误。啊。
编辑:试试这个
if ($stmt = $mysqli->prepare($add)) {
$stmt->bind_param($arr);
}
else {
printf("Errormessage: %s\n", $mysqli->error);
}
http://php.net/manual/en/mysqli-stmt.bind-param.php
尝试以下方法
$stmt->bind_param(array("siisssiiiiiiiiii", $title, $edited, $created, $ip, $email_to, $twitter, $last_taken, $questions_total, $responses, $show_progress, $need_correct, $go_back, $state, $send_stats, $show_number, $importedVal));
您的查询无法prepare()
。你需要弄清楚在哪里,如何以及为什么。查看此答案的最后一个代码块,让我们知道错误是什么。
我将从查询开始。您正试图访问MySQL保留字
Source(请参阅#684)。你需要像这样用背勾包裹它们:
$add = "INSERT INTO books (title, edited, created, ip,".
" email_to, twitter, last_taken, questions_total, responses, ".
"show_progress, need_correct, go_back, state, send_stats, ".
"show_number, imported) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ".
"?, ?, ?, ?, ?, ?, ?)";
现在,您正在if
块中实例化变量$stmt
,然后尝试将其绑定到该块之外。您需要更改以下内容:
if ($stmt = $mysqli->prepare($add)) {
....
}
$stmt->bind_param(....);
为此:
if ($stmt = $mysqli->prepare($add)) {
....
$stmt->bind_param(....);
}
此外,请确保您的查询实际准备正确:
if ($stmt = $mysqli->prepare($add)) {
$stmt->bind_param("siisssiiiiiiiiii", $title, $edited, $created, $ip, $email_to, $twitter, $last_taken, $questions_total, $responses, $show_progress, $need_correct, $go_back, $state, $send_stats, $show_number, $importedVal);
// execute it and all...
} else {
die("Errormessage: ". $mysqli->error);
}
然后让我们知道发生了什么。
出于某种原因,我得到了。 致命错误:在第19行的D:\xampp\htdocs\tutioncenter\stud-editprofile_process.php中对布尔值调用成员函数bind_param() 我在另一个进程上使用了相同的函数,效果很好。我对编程很陌生,有人能帮我吗? 提前谢谢你!
我一直被这个错误困扰,请帮助我这是我的PHP代码致命错误:调用成员函数bind_param()
密码 错误 致命错误:调用第26行C:\xampp\htdocs\create.php中布尔值的成员函数bind_param()
这是我代码的一部分 我得到一个错误致命错误:对$stmt行上的非对象调用成员函数bind_param()-
我得到一个错误与此文本:(对不起,我的英语不好,我来自德国!) 错误:
我正忙于从DB获取设置的函数,突然,我遇到了以下错误: 通常,这意味着我正在从不存在的表和东西中选择东西。但在这种情况下,我不是... 下面是getSting函数: