我有一个表单,字段是姓名,电子邮件,密码。客户端验证工作正常。我正在进行服务器端验证。
我在其他方面得到了问题。为了测试,我添加了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";
}
答案 0 :(得分:-1)
您的问题是:
$stmt->bind_result($email);
该行用查询结果替换变量 只需使用另一个变量即可获得结果。
您还使用fetch
结果错误,它只返回获取状态的true/false/null
值。使用bind_result
绑定变量来获取结果。