服务器端电子邮件已经在PHP

时间:2018-05-03 17:57:10

标签: php mysql

我有一个表单,字段是姓名,电子邮件,密码。客户端验证工作正常。我正在进行服务器端验证。

我在其他方面得到了问题。为了测试,我添加了echo $email,我收到了电子邮件ID。现在,电子邮件ID将检入数据库是否存在。如果存在,则显示错误,如果不存在,则显示不存在。

if(condition){}
elseif(condition){}
elseif(condition){}
elseif(condition){}
else{
    echo $email; // here I am able to display the email id

    $sql_check_email="SELECT email FROM register WHERE email =?";
    $stmt = $conn->prepare($sql_check_email);
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $stmt->bind_result($email);
    $rows = $stmt->fetch();
    $total_rows = count($rows);
    if( $total_rows > 0 ){
        $_SESSION['email_error']= 'This email is alredy register with us';
        header('location:register');
    }else{
        echo $email;// why my email id not displaying here?
        echo $name;
        echo $password;
        echo $date_of_added;
        echo"Not exist";
    }

1 个答案:

答案 0 :(得分:-1)

您的问题是:

$stmt->bind_result($email);

该行用查询结果替换变量 只需使用另一个变量即可获得结果。

您还使用fetch结果错误,它只返回获取状态的true/false/null值。使用bind_result绑定变量来获取结果。