我用了这个代码,我不知道是什么问题,我也用了不同的代码
我要做的是检查,不允许用户添加他的电子邮件两次

<?php
include("includedb.php");
//declare variables
$name        = $_POST['name'];
$email       = $_POST['email'];
$tel         = $_POST['tel'];
$gift        = $_POST['gift'];
$formName    = $_POST['formName'];
$formEmail   = $_POST['formEmail'];
$formEmirate = $_POST['formEmirate'];
$birthday    = $_POST['birthday'];
$date        = $_POST['date'];

$result = mysqli_query("SELECT * FROM  users WHERE email = '$email'") or exit(mysqli_error()); //check for duplicates

$num_rows = mysqli_num_rows($result); //number of rows where duplicates exist

if ($num_rows == 0) { //if there are no duplicates...insert
    $sql = "INSERT INTO users (name, email, tel, gift, formName, formEmail, formEmirate, birthday, date)
VALUES ('$name', '$email', '$tel','$gift', '$formName', '$formEmail', '$formEmirate','$birthday',CURRENT_TIMESTAMP )";
    if (!mysqli_query($sql)) {
        die('Error: ' . mysqli_error());
    }
}

mysqli_close();

header("location: thank-you.html?remarks=success");

?>

最佳答案

问题是您没有向mysql_查询传递任何连接
因此查询不会被查询

$conn = your connection;

$result = mysqli_query($conn,"SELECT * FROM  users WHERE email = '$email'") or exit(mysqli_error()); //check for duplicates
$num_rows = mysqli_num_rows($result); //number of rows where duplicates exist
if($num_rows == 0) { //if there are no duplicates...insert
$sql = "INSERT INTO users (name, email, tel, gift, formName, formEmail, formEmirate, birthday, date)
VALUES ('$name', '$email', '$tel','$gift', '$formName', '$formEmail', '$formEmirate','$birthday',CURRENT_TIMESTAMP )";
if (!mysqli_query($conn,$sql))
  {
  die('Error: ' . mysqli_error());
  }
}

关于php - 如何避免重复的电子邮件php/sql?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45709437/

10-13 04:44