在PHP脚本中插入MySQL DB之前检查值是否存在

t0m*_*mgs 4 php mysql

我找了类似的问题没有成功.

我有这段代码:

form1.php

$query  = "INSERT INTO table1 ";
$query .= "(fname, lname, mail)";
$query .= " VALUES ";
$query .= "('".$_POST[fname]."', '".$_POST[lname]."', '".$_POST[mail]."')"; 

$result = mysql_query($query) or die ("Query Failed: " . mysql_error());
Run Code Online (Sandbox Code Playgroud)

我希望脚本将检查插入的值是否存在于相应的列中,如果存在则抛出错误.有任何想法吗?

Ign*_*ams 10

在您关心的字段上创建一个UNIQUE键,并在事后检测完整性错误.

  • 这实际上是唯一的方法,否则你最终会遇到失败未被注意的竞争条件.如果您先检查并转储该记录(如果它尚未存在),那么您可能会有人在您的存在检查和添加记录之间添加记录. (2认同)