do a check before the insert making sure data doesnt already exists. perhaps use a unique value like txn_id that the ipn sends back. after your select, if mysql_num_rows is > 0, then the person has already been added to the db, and you shouldnt do another insert.