我在使用一些代码来查找名称的重复项以及平台时遇到了麻烦。这也将适用于稍后查找唯一 ID。
因此,例如,如果 Xbox 上有一个名为“Apple”的服务器,并且您尝试在同一平台上插入一条名为“Apple”的记录,它将拒绝它。但是,允许使用其他同名平台,例如 PS3 中的“Apple”。
我已经尝试过提出想法并寻找答案,但是对于检查重复项的最佳方法是什么我有点摸不着头脑。
到目前为止,这就是我所拥有的:
$nameDuplicate_sql = $db->prepare("SELECT * FROM `servers` WHERE name=':name' AND platform=':platform'");
$nameDuplicate_sql->bindValue(':name', $name);
$nameDuplicate_sql->bindValue(':platform', $platform);
$nameDuplicate_sql->execute();
我尝试了很多不同的解决方案,其中一些来自这里,另一些来自 PHP 手册等。但似乎都没有。
我试图坚持使用 PDO,但是,这是我无法弄清楚转向何处的一个实例。如果这是在 mysql_* 中,我可能只使用 mysql_affected_rows,但对于 PDO,我不知道。rowCount 看起来很有希望,但它总是返回 0,因为这既不是 INSERT、UPDATE 或 DELETE 语句。
哦,我已经在 phpMyAdmin 中尝试过 SQL 语句,它可以工作;我用一个简单的名称/平台尝试了它,它正确地找到了行。
如果有人可以在这里帮助我,我将不胜感激。