我尝试将参数绑定到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()
怎么了?
答案 0 :(得分:5)
<?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种类型的值。我在s
函数中添加了bind_param
,假设您的所有值都是字符串。如果某些值为整数,请用s
替换相应的i
。如果有双打,请替换为d
。
您确定assignments
表格中第一个字段的名称是Classes_has_Subjects_classesHasSubjectsId
吗?