PHP mysqli prepare语句bind_param布尔错误
从各个方面测试该声明,但未能找到解决方案PHP mysqli prepare语句bind_param布尔错误,php,mysqli,Php,Mysqli,从各个方面测试该声明,但未能找到解决方案 // Insert the new user into the database if( $insert_stmt = $mysqli->prepare("INSERT INTO client (username, email, password, reg_ip, salt, country, ref_id, pin, ref_by, ref_by_2) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
// Insert the new user into the database
if( $insert_stmt = $mysqli->prepare("INSERT INTO client (username, email,
password, reg_ip, salt, country, ref_id, pin, ref_by, ref_by_2) VALUES ( ?,
?, ?, ?, ?, ?, ?, ?, ?, ?)")){
$insert_stmt->bind_param("ssssssssii", $username, $email, $pass_2,
$reg_ip, $random_salt, $countryname, $ref_code, $hashed_pin, $user_id3,
$user_id4);
$insert_stmt->execute();
这永远不会执行或进入if语句
我通过删除if
部分对其进行了调试,该部分显示bind_param()
为布尔错误
$insert_stmt = $mysqli->prepare("INSERT INTO client (username, email,
password, reg_ip, salt, country, ref_id, pin, ref_by, ref_by_2) VALUES ( ?,
?, ?, ?, ?, ?, ?, ?, ?, ?)");
$insert_stmt->bind_param("ssssssssii", $username, $email, $pass_2, $reg_ip,
$random_salt, $countryname, $ref_code, $hashed_pin, $user_id3, $user_id4);
if($insert_stmt->execute()){
致命错误:在布尔值上调用成员函数bind_param()
我做了以下测试:
- 所有10个变量的数据类型test=OK(使用gettype()函数)
- 变量数据值=正常(打印所有数据值以供检查)
- Mysql查询语句=OK(直接在Mysql上测试,输入数据,Mysql正在插入值)
- 也没有语法错误
- 变量对齐=正常
- 数据连接=正常(因为它在同一页上运行其他prepare语句而没有错误)
$stmt\u aff
连接未关闭,因此无法工作。
一旦我关上它。下一个准备语句$insert\u stmt
开始工作
一个很好的教训是,如果同一页上有多个prepare语句,为什么会产生bind_param
boolean错误
$stmt_aff->close();
这就是为什么我告诉你检查连接的原因。对不起,我是新手,尽管你在用
include_once'includes/db connect.php'谈论一般的数据连接代码>希望此问题能帮助其他新手。请尝试检查要插入数据库的数据的值。是否可以共享错误消息。如果prepare返回false,则需要检查数据值。某些内容已关闭。首先,在调用prepare()
后,立即检查数据库连接在mysqli::$errno
和mysqli::$error
中是否已连接?