'', 'country_code' => '', 'country_code3' => '', 'country_name' => '', 'region' => '', 'city' => '', 'postal_code' => '', 'latitude' => '0', 'longitude' => '0', 'dma_code' => '0', 'area_code' => '0' ); if (function_exists('geoip_record_by_name')) { $data = @geoip_record_by_name($ip); if ((!is_null($data)) && ($data !== FALSE)) { $result = $data; } } return $result; } $update_sql = 'UPDATE '.$table.' SET visitors_continent_code=:continent_code, visitors_country_code=:country_code, visitors_country_code3=:country_code3, visitors_country_name=:country_name, visitors_region=:region, visitors_city=:city, visitors_postal_code=:postal_code, visitors_latitude=:latitude, visitors_longitude=:longitude, visitors_dma_code=:dma_code, visitors_area_code=:area_code WHERE visitors_ip=:ip'; # Get all uniqs ip. $sql = 'SELECT DISTINCT visitors_ip FROM '.$table; $sth = $dbh->prepare($sql); $sth->execute(); while ($record = $sth->fetch(PDO::FETCH_ASSOC)) { $ip = long2ip($record['visitors_ip']); $data_ip = visitors_get_geoip_data($ip); $update_sth = $dbh->prepare($update_sql); # Update records. $update_sth->execute( array( ':continent_code' => $data_ip['continent_code'], ':country_code' => $data_ip['country_code'], ':country_code3' => $data_ip['country_code3'], ':country_name' => $data_ip['country_name'], ':region' => $data_ip['region'], ':city' => $data_ip['city'], ':postal_code' => $data_ip['postal_code'], ':latitude' => $data_ip['latitude'], ':longitude' => $data_ip['longitude'], ':dma_code' => $data_ip['dma_code'], ':area_code' => $data_ip['area_code'], ':ip' => $record['visitors_ip'] ) ) or die(print_r($update_sth->errorInfo(), true)); echo 'Updated '.$ip."\n"; }