2011-02-03 2 views
0

В начале моего скрипта я удаляю все в таблице. При запуске кода ниже он трижды повторяется (по одной для каждой записи), однако, когда я проверяю данные после того, как информация дублируется (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

ответ

0

У вас есть CSS или встроенный стиль с пустым фоном?

Запустите свою страницу, используя Firefox/Firebug или что-то подобное, что позволит вам уловить все трафик http - это, скорее всего, ваша страница попадает дважды.

+0

Звучит как интересная область для изучения. Какую область в Firebug я должен использовать и какие вещи я должен искать? –

+0

@joseph - Как только у вас есть Firebug, перейдите на вкладку Net. Нажмите «Persist», затем «Clear», затем загрузите свою страницу. Вы проверяете, где сама страница извлекается дважды, зависая над всеми командами POST/GET. – RichardTheKiwi

0

Я уверен, что ваша база данных не должна позволять дублировать строки. Исправьте эту проблему, и попытки вставить дубликаты ключей должны привести к ошибке, с которой вы можете следовать.

Смежные вопросы