2011-02-03 42 views
0

在我的脚本开始处,我删除了表中的所有内容。当运行下面的代码时,它会迭代3次(每个记录一次),但是当我检查数据后,信息被复制(6次插入而不是3次)。PHP:使用SQLite时获取重复插入

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); 
    } 

我已插入的打印命令的最后一行之前确定SQL的内容和可视化,它实际上只是通过3次循环。所以基于此我怀疑这个问题必须与我的PHP/SQL语法。

+0

你试过了一个`print_r($ response2);`(而不是foreach)来查看是否有,实际上是3条记录还是6条? – Rudu 2011-02-03 20:03:19

回答

0

你有CSS或内联风格有一个空的后台网址?

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

+0

听起来像一个有趣的地方去探索。我应该利用Firebug中的哪个区域以及我应该寻找哪些类型的东西? – 2011-02-03 19:03:18

0

我很确定你的数据库不应该允许重复的行。解决这个问题,并尝试插入重复键应该会导致一个错误,你可以按照。