Можете да използвате временна маса. Накарайте php приложението да вмъкне всичко във временната таблица и след това да извика заявка с този вид логика.
insert into mainTable
(field1, field2, etc)
select field1, field2, etc
from tempTable
where (subquery to check for existing records goes here)
Или можете да използвате try/catch. Не знам php синтаксиса, но тъй като много други езици могат да правят подобни неща, бих очаквал php също да може.
try
code to insert record
catch
if the error code is the one for duplicate records, do nothing.
if it's something else, handle it accordingly.