Php 致命错误:在第33行的布尔值上调用成员函数execute()
在尝试运行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 致命错误:在第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
<?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这不是你代码中唯一的错误。它变得更好了。。。