【发布时间】:2015-08-28 02:40:11
【问题描述】:
我正在尝试这样做,以便在将数据插入数据库之前检查电子邮件是否已存在于数据库中。
这是我的代码:
<?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();
?>
当我访问该页面时它不会给我任何错误,但它也不会回显它存在或在它不存在时插入数据。
【问题讨论】:
-
你可以试试这个:“SELECT count(Mail) FROM betakey WHERE Mail = '$Mail'”
-
您可能希望在代码的最后一个大括号之前添加一个
echo 'mail sent';语句以帮助您进行调试。 -
启用error_log到单个文件并发布,你可能会遇到sql或php语法错误。
-
ahmet 仍然没有工作,迈克,完成了。
-
Pat4561 是对的。我认为问题在于检测邮件是否存在。