Php 致命错误:在第33行的布尔值上调用成员函数execute()

Php 致命错误:在第33行的布尔值上调用成员函数execute(),php,mysqli,Php,Mysqli,在尝试运行execute()命令时,我收到了一个警告和一个致命错误。我在stm->execute()中似乎找不到错误 以下是我的错误: 警告:mysqli_stmt::bind_param():在第20行的C:\xampp\htdocs\library\admin-reg.php中指定的类型无效或没有指定类型 致命错误:对中的布尔值调用成员函数execute() 第33行的C:\xampp\htdocs\library\admin-reg.php 这是我的一段代码 <?php

在尝试运行execute()命令时,我收到了一个警告和一个致命错误。我在stm->execute()中似乎找不到错误

以下是我的错误:

警告:mysqli_stmt::bind_param():在第20行的C:\xampp\htdocs\library\admin-reg.php中指定的类型无效或没有指定类型

致命错误:对中的布尔值调用成员函数execute() 第33行的C:\xampp\htdocs\library\admin-reg.php

这是我的一段代码

 <?php
                                                #CONNECTION    
    require 'dbcon.php';

                                                #INPUT CONTAINERS
    $ACTIVATION_CODE=$USERNAME=$PASSWORD=$EMAIL=$FIRST_NAME=$MIDDLE_NAME=$LAST_NAME=$CONTACT_NO=$ADDRESS=$PROFILE='';

                                                #ERROR CONTAINERS
    $USERNAME=$PASSWORD=$EMAIL=$FIRST_NAME=$MIDDLE_NAME=$LAST_NAME=$CONTACT_NO=$ADDRESS=$PROFILE=$USER_TYPE='';

                                                #CONNECTION/QUERY#
    $connection = mysqli_connect('localhost','root','','library_system') or die(mysqli_error());    
    $stm = $mysli_link->prepare("INSERT INTO users (username,password,first_name,middle_name,last_name,address,contact_no,email,activation_code) values(?,?,?,?,?,?,?,?,?)");
    $stm = $stm->bind_param($USERNAME,$PASSWORD,$FIRST_NAME,$MIDDLE_NAME,$LAST_NAME,$ADDRESS,$CONTACT_NO,$EMAIL,$ACTIVATION_CODE);
                                                #VERIFICATION SCRIPT
    IF(isset($_POST['register'])){
        $USERNAME = trim(mysqli_real_escape_string($connection,$_POST['username']));
        $PASSWORD = trim(mysqli_real_escape_string($connection,password_hash($_POST['password'],PASSWORD_DEFAULT)));
        $EMAIL = trim(mysqli_real_escape_string($connection,$_POST['email']));
        $FIRST_NAME = mysqli_real_escape_string($connection,$_POST['first_name']);
        $MIDDLE_NAME = mysqli_real_escape_string($connection,$_POST['middle_name']);
        $LAST_NAME = mysqli_real_escape_string($connection,$_POST['last_name']);
        $CONTACT_NO = trim(mysqli_real_escape_string($connection,$_POST['contact_no']));
        $ADDRESS = mysqli_real_escape_string($connection,$_POST['address']);            
        $ACTIVATION_CODE = md5($USERNAME.(rand(0,1000)));
        $USER_TYPE = "ADMIN";
        $stm->execute();                                            

    }

?>


希望您能帮助我。

这是打字错误,还是您需要更正?将mysli更正为mysqli

$stm = $mysli_link->prepare("INSERT....
此外,bind_param还接受一个或多个参数类型,即根据以下信息定义的包含一个或多个字符的字符串。如果任何参数大小超过允许的最大数据包,则需要此参数

这些类型的定义如下:- 类型 包含一个或多个字符的字符串,用于指定相应绑定变量的类型:

类型规格字符 字符描述 i对应变量的类型为integer d对应变量的类型为double s对应的变量具有类型字符串 b对应的变量是blob,将以数据包的形式发送


因此,按顺序连接变量类型的每个字母似乎是我的问题的原因。谢谢大家!@JioMamaoag这不是你代码中唯一的错误。它变得更好了。。。