如果不存在......不工作,不知道为什么

时间:2016-08-25 17:44:43

标签: php mysqli

我正在尝试编写我认为对我的网站来说简单的SQL查询但它不断出现的错误:

声明:

if(!mysqli_query($con,
"IF NOT EXISTS(SELECT email FROM users WHERE email = '".$email."') BEGIN INSERT INTO users(email) VALUES ('".$email."') END")
){ ... }

错误:

  

您的SQL语法有错误;检查对应的手册       到你的MySQL服务器版本,以便在'IF NOT'附近使用正确的语法       EXISTS(从用户选择电子邮件WHERE email ='email@example.com')BE'at       第1行

我曾多次试过,但我看不出有什么不妥。与数据库的连接起作用,表users和列属性/主键email也都正确设置。

1 个答案:

答案 0 :(得分:1)

我可以为您推荐一种解决问题的新方法。 如果您需要插入表格中没有的新电子邮件并忽略插入表格中已有的电子邮件,您可以使用" INSERT IGNORE"。

$sql = "INSERT IGNORE INTO users(email) VALUES ('$email')";