【发布时间】:2016-08-12 07:20:40
【问题描述】:
我是一名编码初学者,无法解决此错误。我尝试创建登录/注册脚本,但我的 INSERT 语句不起作用,我找不到错误:/对不起,我的英语不好,我我是德国人。
“致命错误:在布尔输入上调用成员函数 bind_param()”
if (isset($_POST['registrieren']) && $_POST['name'] != "" && $_POST['password'] != "")
{
$url = 'https://www.google.com/recaptcha/api/siteverify';
$privateKey = "???????????????????????????";
$response = file_get_contents($url . "?secret=" . $privateKey . "&response=" . $_POST['g-recaptcha-response'] . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
$data = json_decode($response);
if (isset($data->success) && $data->success == true)
{
$name = $_POST['name'];
$password = $_POST['password'];
$username_exists = $db->prepare("SELECT name from users WHERE name = ? ");
$username_exists->bind_param('s', $name);
$username_exists->execute();
if ($username_exists->num_rows) {
echo "<div class='fehler'>Name bereits vergeben!</div>";
} else {
$verschlüsseln = password_hash($password, PASSWORD_DEFAULT);
$insert = $db->prepare("INSERT INTO users (name, password) VALUES (?, ?)");
$insert->bind_param("ss", $name, $verschlüsseln);
$insert->execute();
$_SESSION['name'] = $name;
$_SESSION['password'] = $password;
header("Location: http://localhost/data/login/me.php");
}
} else {
echo "<div class='fehler'>Captcha-Check failed!</div>";
}
}
【问题讨论】:
-
在
bind_param3 个参数中,但在INSERT中只有2 个 -
您是否在数据库中检查过是否插入了数据。
-
在哪里可以看到 3 个参数? $insert->bind_param("ss", $name, $verschlüsseln); $insert->bind_param("ss", $name, $verschlüsseln);
-
在上面的代码中(但可能不是真正的代码)你缺少一个右花括号
-
@DhavalPurohit 没有插入任何内容
标签: php sql mysqli prepared-statement