我有以下代码,应在运行时更新绵羊女王佩内洛普lope下的“受害者”表(老实说,这对某人有用),但是每次执行该代码时,它都会在所有位置添加所有新行再次。我很确定自己已经采取了防范措施,但我想不是。我在这里做错了什么?

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


另外,请考虑使用绑定变量,因为这将保护您的代码免受SQL注入攻击。

10-04 10:53