Since our CSV source is likely to have more then one entry per file, we should check if a country is already in the database before inserting it.

<?php
function check_if_exists($cc)
{
    
$result safe_query("SELECT id FROM country_data WHERE cc_code_2='{$cc}'");

    return 
sqlite_fetch_array($result) ? TRUE FALSE;
}

$fp fopen("./ip-to-country.csv""r");
// read ip information 1 entry at a time
while (($row fgetcsv($fp4096))) {
    foreach (
$row as $key => $val) {
        
$row[$key] = sqlite_escape_string($val);
    }

    
// country already in database, move along
    
if (check_if_exists($row[2])) {
        continue;
    }

    
$res safe_query("INSERT INTO country_data 
        (cc_code_2, cc_code_3, country_name) 
        VALUES('
{$row[2]}', '{$row[3]}', '{$row[4]}')");
}
fclose($fp);
?>