检查 MySQL 数据库中是否存在电子邮件

Erw*_*ren 0 php mysql database

我正在使用以下 PHP 代码将数据存储在我的 MySQL 数据库中,一切正常,但我想构建一个检查;如果电子邮件已存在于数据库中,则重定向到另一个页面。(对于PHP我是个菜鸟)

<?php

  if(empty($_POST['name']))
  {} else {

  define('DB_NAME', 'dbname');
  define('DB_USER', 'dbuser');
  define('DB_PASSWORD', 'dbpass');
  define('DB_HOST', 'host');

  $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

  if (!$link) { die('could not connect: ' . mysql_error()); }

    $db_selected = mysql_select_db(DB_NAME, $link);

  if (!$db_selected) { die('can not use ' . DB_NAME . ': ' . mysql_error()); }

  $sql="INSERT INTO game (name, lastname, company, email, time) VALUES
('".$_POST['name']."','".$_POST['lastname']."','".$_POST['company']."','".$_POST['email']."','".$_POST['time']."')";

  if (!mysql_query($sql)) { die('Error: ' . mysql_error()); }

  mysql_close();

  }

?>
Run Code Online (Sandbox Code Playgroud)

Mag*_*guy 5

if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    exit('Invalid email address'); // Use your own error handling ;)
}
$select = mysqli_query($connectionID, "SELECT `email` FROM `game` WHERE `email` = '".$_POST['email']."'") or exit(mysqli_error($connectionID));
if(mysqli_num_rows($select)) {
    exit('This email is already being used');
}
Run Code Online (Sandbox Code Playgroud)

将其粘贴在插入查询上方

  • 请更新您的答案,因为 PHP 5 及更高版本已从 mysql_num_rows() 更改为 mysqli_num_rows()。请参阅:/sf/ask/2681469801/ (2认同)