0
我的代碼存在一些問題。似乎我無法擁有多個準備好的陳述,這對我來說似乎有點不尋常。在同一頁上顯示多個預處理語句MYSQLI
我會很高興,如果你能發現一個錯誤或幫助我,因爲我不知道這個問題。
我的錯誤:
Fatal error: Call to a member function bind_param() on boolean in /Applications/XAMPP/xamppfiles/htdocs/platform/creating_user.php on line 37
我試圖檢查用戶的電子郵件數據庫中已存在,然後註冊用戶。
代碼工作正常,當我不執行$檢查。
$check->execute();
我還想對我的工作流程(我的代碼的建立方式)做出一些迴應。好嗎?
謝謝!
<?php
$db = new mysqli("localhost","root","","database");
session_start();
if (isset($_POST)){
if(
!empty($_POST["name"])
& !empty($_POST["city"])
& !empty($_POST["zip"])
& !empty($_POST["email"])
& !empty($_POST["tel"])
& !empty($_POST["password"])
) {
$name = encrypt($_POST["name"]);
$city = encrypt($_POST["city"]);
$zip = encrypt($_POST["zip"]);
$email = encrypt($_POST["email"]);
$tel = encrypt($_POST["tel"]);
$password = encrypt($_POST["password"]);
if(!empty($name) && !empty($city) && !empty($zip) && !empty($email) && !empty($tel) && !empty($password)) {
$check = $db->prepare("SELECT email FROM user WHERE email = ?");
$check->bind_param('s', $email);
$check->execute();
if ($check->num_rows == 1) {
header("Location: index.php");
die();
} else {
$insert = $db->prepare("INSERT INTO user (name, city, zip, email, tel, password, created) VALUES (?, ?, ?, ?, ?, ?, NOW())");
$insert->bind_param("ssssss",$name, $city, $zip, $email, $tel, $password);
if ($insert->execute()){
$db->close();
$_SESSION["user"] = $email;
header("Location: created_user");
die();
} else {
header("Location: create-user");
die();
}
}
} else {
header("Location: create-user");
die();
}
} else {
header("Location: create-user");
die();
}
} else {
header("Location: create-user");
die();
}
?>
'$ DB-> prepare'返回'boolean'這主要是指有一些錯誤的DB連接。 – WasteD
如果(!$ check = $ db-> prepare(「SELECT email FROM user WHERE email =?」)){ echo $ db-> error; exit(0); } – buildok