在布尔值上调用成员函数bind_param() [英] Call to a member function bind_param() on boolean
问题描述
我尝试将参数绑定到php中的sql(mysqli),但是上面写了一个错误代码. 这是我写的代码:
I try to bind parameters to sql (mysqli) in php, but there is an error code as written above. This is the code I wrote:
$stmt = $conn->prepare("INSERT INTO assignments (Classes_has_Subjects_classesHasSubjectsId, assignmentName, gradeForAssignment,protectiveGrade)
VALUES (?, ?, ?, ?)");
if ($stmt = false)
{
echo "false";
}
else{
$stmt->bind_param("sss", $classesHasSubjectsId, $assignmentName, $gradeForAssignment, $protectiveGrade);
$stmt->execute();
}
,这是错误消息: 11
and here is the error message: 11
致命错误:在布尔值中调用成员函数bind_param()
Fatal error: Call to a member function bind_param() on boolean in
怎么了?
推荐答案
<?php
$stmt = $conn->prepare("INSERT INTO assignments (Classes_has_Subjects_classesHasSubjectsId, assignmentName, gradeForAssignment,protectiveGrade)
VALUES (?, ?, ?, ?)");
if (!$stmt) {
echo "false";
}
else {
$stmt->bind_param("ssss", $classesHasSubjectsId, $assignmentName, $gradeForAssignment, $protectiveGrade);
$stmt->execute();
}
if ($stmt = false)
表示您正在将false
分配给$stmt
.将其替换为if (!$stmt)
.
if ($stmt = false)
means you're assigning false
to $stmt
. Replace it with if (!$stmt)
.
您要绑定4个参数,但仅提供3种类型的值.我在bind_param
函数中添加了s
,假设您所有的值都是字符串.如果某些值是整数,则将相应的s
替换为i
.如果有双打,请替换为d
.
You're binding 4 parameters but only providing 3 types of values. I added a s
in the bind_param
function, assuming all your values are string. If some of the values are integers replace the corresponding s
with an i
. If there are doubles, replace with a d
.
您确定assignments
表中的第一个字段的名称是Classes_has_Subjects_classesHasSubjectsId
吗?
Are you sure the first field's name in the assignments
table is Classes_has_Subjects_classesHasSubjectsId
?
这篇关于在布尔值上调用成员函数bind_param()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!