当我运行此代码时,我给出了这个错误:mysqli_error()只需要1个参数,0给出
它的$ insert_stmt-> execute()我不知道为什么我有这个错误,因为数据库和表是真的,所有4个值都有刺痛
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email, password,salt) VALUES (?, ?, ?, ?)")) {
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt);
// Execute the prepared query.
if (! $insert_stmt->execute()) {
echo mysqli_stmt_error();
}
答案 0 :(得分:3)
答案 1 :(得分:2)
您正在将代码中的面向对象和程序样式的MySQLi混合使用。
面向对象-stlye:
echo $insert_stmt->error;
程序风格:
echo mysqli_stmt_error($insert_stmt);
你正在使用后者,但没有给它一个参数。我建议你在代码的其他部分使用面向对象的方式。