我正在插入准备好的语句插入数据,但是当我插入检查重复它给我错误如何解决

问题描述 投票:-3回答:1
if(isset($_POST['submit'])){
//echo "Did you click me";

$username = mysqli_real_escape_string($conn,$_POST['username']);

$sql  = "SELECT count(1) FROM user_register WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->bind_result($found);
$stmt->fetch();
if ($found)
{
echo "Email is already exist";
//die;
}
else
{
    echo"Debug";


    $insert_data = $conn->prepare("INSERT INTO  user_register (first_name, last_name, mobile,username,user_password) VALUES (?, ?, ?,?,?)");
$insert_data->bind_param("ssiss", $first_name, $last_name, $mobile,$username,$user_password);
print_r($insert_data);
die;
// set parameters and execute
//$fname=ucfirst($_POST['first_name']);
$first_name = mysqli_real_escape_string($conn,$_POST['first_name']);

$last_name = mysqli_real_escape_string($conn,$_POST['last_name']);
$mobile = mysqli_real_escape_string($conn,$_POST['mobile']);
$username = mysqli_real_escape_string($conn,$_POST['username']);
$user_password = mysqli_real_escape_string($conn,$_POST['user_password']);

    if($insert_data->execute()){
        echo "Inserted";
    }
    else{
        echo"Error";
    }
    $insert_data->close();
        $conn->close();

}


}

我想在我的代码中检查电子邮件重复与准备好的声明,如果不可用插入否则显示错误,但当我检查电子邮件它是工作,但它没有插入新用户与新的电子邮件,请帮助我。

错误:致命错误:使用第277行的session \ insert_data.php调用C:\ wamp64 \ www \ vaibhav \ prepared-statement中布尔值的成员函数bind_param()

php mysqli prepared-statement
1个回答
-1
投票
if(isset($_POST['submit'])){
//echo "Did you click me";

$username = mysqli_real_escape_string($conn,$_POST['username']);

$sql  = "SELECT count(1) FROM user_register WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username_stmt);
$username_stmt = $username;
$stmt->execute();
$stmt->bind_result($found);
$stmt->fetch();
 if ($found)
 {
   echo "Email is already exist";
   //die;
 }
else
{
   echo"Debug";
}

你错过了一行代码。希望这有效

© www.soinside.com 2019 - 2024. All rights reserved.