Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器端电子邮件已存在于PHP中_Php_Mysql - Fatal编程技术网

服务器端电子邮件已存在于PHP中

服务器端电子邮件已存在于PHP中,php,mysql,Php,Mysql,我有一个表单和字段是姓名、电子邮件、密码。客户端验证工作正常。我正在进行服务器端验证 我从其他方面得到了这个问题。为了进行测试,我添加了echo$email,我得到了email id。现在,email id将检查数据库是否存在。如果存在,则显示错误;如果不存在,则显示不存在 if(condition){} elseif(condition){} elseif(condition){} elseif(condition){} else{ echo $email; // here I am

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

我从其他方面得到了这个问题。为了进行测试,我添加了
echo$email
,我得到了email id。现在,email 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";
    }
你的问题是:

$stmt->bind_result($email);
该行用查询结果替换变量。
只需为结果使用另一个变量


您还错误地使用了
fetch
result,它只返回fetch状态的
true/false/null
值。使用
bind\u result
bind变量获取结果。

如果我能分享下一次投票的原因,这样我以后就不会重复同样的操作,那对我来说会很好
$email
将重置为查询结果,显然在else中,数据库中没有找到匹配项。。。否则,您将不在Elsey中您没有存储结果(如果有的话)。编辑:在else中,查阅关闭此操作的副本。。。。没有设置电子邮件,因为很明显,在上找不到该电子邮件database@RiggsFolly是的,
bind_param
那不管用吗?是的,没错。我尝试了$stmt->bind\u result($email\u 1);我在其他部分收到了我的电子邮件@副总裁阿尔斯,你能帮我找出提取结果的错误吗?
$stmt->bind\u result($email)$行=$stmt->fetch()绑定并获取查询结果。如果没有找到匹配的行,则您没有将任何内容绑定到
$email
请参阅。您可以将返回值用作有数据的标志,但不能用作获取的数据集。获取的数据集将位于
bind\u结果
变量中。