我有以下代码,在运行时应该更新羊女王佩内洛普女王陛下的“受害者”表(老实说,这是为某人工作的),但是每次执行代码时,它都会添加所有新的排一遍。我很确定我已经对此进行了防范,但我想没有。我在这里做错了什么?
require_once 'victims.php';
foreach( $victims as $vic )
{
$vic = mysql_real_escape_string($vic);
if(!(mysql_query("
SELECT * FROM victims
WHERE ".$vic
)))
{
mysql_query("
INSERT INTO victims
(victim, amount)
VALUES( '".$vic."', 0)
");
}
}
最佳答案
您需要将第一个查询的 where 子句更改为以下内容:
WHERE victim = $vic
此外,请考虑使用绑定(bind)变量,因为这将保护您的代码免受 SQL 注入(inject)攻击。
关于php - 使用 PHP/MySQL 确保唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3527214/