繁体   English   中英

尝试检查是否已存在具有相同值的电子邮件

[英]Trying to check if an email with the same value already exists

我试图这样做,以便在将数据插入数据库之前检查数据库中是否已存在电子邮件。

这是我的代码:

<?php
    $servername = "servername";
    $username = "username";
    $password = "password";
    $dbname = "dbname";

    $Mail = $_POST['email'];

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }

    //Inputed in E-Mail Field
    $Mail = $_POST['email'];

    $SearchEmail = $conn->query("SELECT (Mail) FROM betakey WHERE Mail = '$Mail'");

    if ($SearchEmail->num_rows > 0) {
        print "That Email is already registered for the closed alpha";
    }
    else {
        $conn->query("INSERT INTO betakey VALUES ('$Mail')");
    }

    $conn->close();
    ?> 

当我访问页面时,它不会给我任何错误,但也不会回显它的存在或不存在时插入数据。

问题出在您的插入查询中。 插入查询的结构始终如下所示。

INSERT INTO table_name(column1,column2,column3,...)VALUES(value1,value2,value3,...)请参阅: http : //www.w3schools.com/php/php_mysql_insert.asp

将其应用于您的代码,将得到以下结果。

<?php
$servername = "servername";
$username = "username";
$password = "password";
$dbname = "dbname";

$Mail = $_POST['email'];

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

//Inputed in E-Mail Field
$Mail = $_POST['email'];

$SearchEmail = $conn->query("SELECT count(Mail) FROM betakey WHERE Mail = '$Mail'");

if ($SearchEmail->num_rows > 0) {
    print "That Email is already registered for the closed alpha";
}
else {
    $conn->query("INSERT INTO betakey (Mail) VALUES ('$Mail')");
}

$conn->close();
?> 

我建议您删除两个'$ Mail = $ _POST ['email'];'中的一个,因为以相同的方式两次声明一个变量是没有用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM