我现在有一些代码可以查看是否已使用某个密钥。唯一的问题是,如果正在修改条目,它现在会找到它自己。什么是寻找重复“除了”当前重复的好方法?我有一个名为“id”的唯一ID。我有一个人的钥匙列表。每把钥匙仅限一人使用。有时当办公室的人从我们拥有的钥匙库中取出钥匙时。然后忘记从我们拥有的密钥库中删除密钥。然后,当下一个人拿一把钥匙时,他们拿走最后一个用过的钥匙。我们最终将游戏密钥出售给不同的人。这就是为什么我需要检查viprek中的重复项,但是如果他们正在用其中的那个键更改条目,则不会触发“此键已在使用中”屏幕。
的init.php
<?php
$con = mysql_connect(localhost, root, passwordexmaple);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("arkamanc_vipre", $con);
?>
modify.php
Edit.php
答案 0 :(得分:0)
SELECT c2.id FROM client AS c1, client AS c2
WHERE c1.viprek = c2.viprek
AND c1.viprek != :viprek
AND c1.id < c2.id
上述查询将返回表id
的所有条目的client
,这些条目与viprek
列上的其他条目重复,但$_POST
列中的值保留的条目除外1}}。你应该只获得较新的重复项(id rank-wise)。
这是您应该做的更改,以便在脚本中获得预期的行为:
$query = "SELECT * FROM client AS c1, client AS c2 WHERE c1.viprek = c2.viprek AND c1.viprek!=".mysql_real_escape_string($_POST[viprek])." AND c1.id < c2.id";
如果你想要的是包含viprek
列和id
特定值的特定值的条目,那么这就是查询。
SELECT id FROM client
WHERE id != :id
AND viprek = :viprek
您只需修改$query
变量即可包含此查询,如上所示。
但是,强烈建议您使用PDO执行所有数据库查询。我建议你学习如何做或聘请某人来照顾它。这是tutorial,您可以转换到PDO。
我不确定这是不是你想要的。