尝试检查是否已存在具有相同值的电子邮件 [英] Trying to check if an email with the same value already exists

查看:57
本文介绍了尝试检查是否已存在具有相同值的电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

这是我的代码:

<?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(第1列,第2列,第3列...) VALUES(值1,值2,值3 ...) 请参阅: 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'];'中的一个,因为以相同的方式两次声明变量是没有用的.

Im trying to make so it checks if the email already exists in the database before inserting the data in it.

Here is my code:

<?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();
    ?> 

It doesn't give me any error when i access the page but it also doesn't echo that it exists or inserts the data when it doesn't.

解决方案

The problem is in your insert query. An insert query is always structured like shown below.

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

Applying this to your code, results in the following.

<?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();
?> 

And I suggest you take away one of the two '$Mail = $_POST['email'];', because it is useless to declare a variable twice in the same way.

这篇关于尝试检查是否已存在具有相同值的电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆