Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查数据库php中是否已存在值_Php_Mysql_Email_Mysqli_Newsletter - Fatal编程技术网

检查数据库php中是否已存在值

检查数据库php中是否已存在值,php,mysql,email,mysqli,newsletter,Php,Mysql,Email,Mysqli,Newsletter,如果我的数据库中已经存在电子邮件,我需要出错 我已经做了这个代码,但它不工作 `<?php` // CONNECT TO DATABASE $mysqli = new mysqli("database", "username", "password","database_name"); // creates $mail = $_POST['mail']; //from input $result = mysql_query("SELECT * FROM Newsmail WHERE

如果我的数据库中已经存在电子邮件,我需要出错

我已经做了这个代码,但它不工作

`<?php`

// CONNECT TO DATABASE

$mysqli = new mysqli("database", "username", "password","database_name"); // creates 

$mail = $_POST['mail']; //from input
$result = mysql_query("SELECT * FROM Newsmail WHERE mail='" . $mail . "'");
if (mysql_num_rows($result) == 1)
{
echo "Error";
}


else {
//sql
$sql = "INSERT INTO `database_name`.`Newsmail` (`newsmail_id`, `mail`) VALUES (NULL, \'" . $_GET['mail'] . "\');";

//INSERT TO DATABASE
$insert =  $mysqli->query($sql);

}

?>

`如果电子邮件是
唯一键
,请尝试
插入忽略

$mail = mysql_real_escape_string($mail);
$sql="INSERT IGNORE INTO Newsmail (email) VALUES ('$email')";
mysql_query($sql) or trigger_error(mysql_error()." ".$sql);

if (mysql_affected_rows()) {
echo 'registration successfully';
} else {
echo 'already exists';
}

代码中的以下错误

1) 您正在将mysql和mysqli混合到代码中

2) 您的查询已为sql注入打开

3) 您的代码中的$\u POST和$\u GET方法存在混乱

4) 没有错误检查方法来找出错误


您正在将
mysql和mysqli
混合到您的代码中
<?php

// CONNECT TO DATABASE

$mysqli = new mysqli("database", "username", "password", "database_name"); // creates 

$mail = $mysqli->real_escape_string($_POST['mail']);
$result = $mysqli->query("SELECT * FROM Newsmail WHERE mail='" . $mail . "'");
if ($mysqli->num_rows($result) == 1) {
    echo "Error";
} else {
//sql
    $sql = "INSERT INTO `database_name`.`Newsmail` (`newsmail_id`, `mail`) VALUES (NULL, '" . $mail . "')";

//INSERT TO DATABASE
    $insert = $mysqli->query($sql);
}
?>