PHP:使用SQLite时获取重复插入

时间:2011-02-03 18:39:42

标签: php sql sqlite pdo

在我的脚本开头,我删除了表格中的所有内容。当运行下面的代码时,它会迭代3次(每个记录一次)但是当我在事实之后检查数据时,信息被复制(6个插入而不是3个)。

  foreach ($response2->records as $record) {    

    $accountid = $record->fields->AccountId;
    $resident_title = $record->fields->Resident_Title__c;
    $supervisor_title = $record->fields->Supervisor_Title__c;
    $position_proposal_url = $record->fields->Position_Proposal_URL__c;  

    $sql = "INSERT INTO Positions (AccountID, Position_Title, Supervisor_Title, Position_Url) 
    VALUES ('$accountid',
    '$resident_title',
    '$supervisor_title',
    '$position_proposal_url');";

    $result2 = $database->exec($sql);
  } 

我在最后一行之前插入了一个print命令来确定SQL的内容并可视化它实际上只循环了3次。基于此我怀疑问题必须与我的PHP / SQL语法有关。

2 个答案:

答案 0 :(得分:0)

您是否有具有空背景网址的CSS或内联样式?

使用Firefox / Firebug或类似的东西启动你的页面,这将允许你捕获所有的http流量 - 很可能你的页面被击中了两次。

答案 1 :(得分:0)

我很确定你的数据库不应该允许重复的行。修复该问题,并尝试插入重复的密钥应该导致您可以遵循的错误。