我试图将参数绑定到php中的sql(mysqli),但有一个错误代码,如上所述。这是我写的代码:
$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
致命错误:在中对布尔值调用成员函数bind_param()
怎么了?
<?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)
。
您绑定了4个参数,但只提供了3种类型的值。我在bind_param
函数中添加了一个s
,假设您的所有值都是字符串。如果某些值是整数,则用i
替换相应的s
。如果有替身,请替换为d
。
您确定assignments
表中第一个字段的名称是Classes_has_Subjects_classesHasSubjectsId
吗?