Intereting Posts

Вызов функции-члена bind_param () на boolean

Я пытаюсь привязать параметры к sql (mysqli) в php, но есть код ошибки, как указано выше. Это код, который я написал:

$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 () в boolean

Что не так?

 <?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 .

Вы уверены, что первое имя поля в таблице assignmentsClasses_has_Subjects_classesHasSubjectsId ?