在布尔值上调用成员函数bind_param() [英] Call to a member function bind_param() on boolean

查看:97
本文介绍了在布尔值上调用成员函数bind_param()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试将参数绑定到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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆