0

我不能完全考虑如何使用 mysql 和 php 来做到这一点。基本上我希望能够将数据提交到 mysql 数据库中,但在插入之前,它会检查该条目是否已经存在。

$guid=$_POST['guid'];
$name=$_POST['name'];
//Username
$user="webhost";
//Password
$pass="*******";
//IP To Host
$ip="***********";
//Database
$db="dayz2";
//Table
$table="whitelist";

//Database Connection
$con=@mysql_connect("$ip", "$user", "$pass")
            or die(mysql_error());

//Select Database
$dbcon=@mysql_select_db($db, $con)
            or die(mysql_error());
$dupesql = "SELECT * FROM $table where (name = '$name' AND guid = '$guid')";

$duperaw = mysql_query($dupesql);

if (mysql_num_rows($duberaw) > 0) {
  echo "Entry Already Exists";
}
else {
//Query Data Into Whitelist Table
$sql="INSERT INTO $table (name, guid) VALUES ('$name', '$guid')";

//Submit Data into Whitelist Table
$result=@mysql_query($sql, $con) or die(mysql_error());
}
?>
4

3 回答 3

1

你可以用另一种方式来做,而不是:

将数据提交到 mysql 数据库,但在插入之前,它将检查该条目是否已存在。

你可以做:

如果不存在,则将数据插入到 mysql 数据库中,否则忽略它们

就像是 :

INSERT IGNORE INTO table
INSERT IGNORE INTO yourtablename
SET fieldname = 'blah'
,..
于 2012-09-16T09:39:07.973 回答
0

这取决于您要做什么 - 您的查询的确切标准是什么?

你有几个选择:

于 2012-09-16T09:39:39.203 回答
0

这取决于您希望在条目存在时如何处理大小写。我想抛出一些错误,然后您可以为插入事件创建表触发器并在那里进行一些检查,但这会很慢,因为每个插入都会执行此检查。

于 2012-09-16T09:39:41.903 回答