Добрый вечер!
Пришёл сюда за вашей помощью!
Возникла серьёзная проблема. В основном шаблоне сайта, реализуемом в Yii прописана система сбора метрики посещаемости:
<?php
//Здесь мы генерируем данные о посещаемости.
if(isset($_COOKIE['site_cookie'])){
$site=trim($_COOKIE['site_cookie']);
if($site=="OK! 200"){
if(isset($_SERVER['HTTP_REFERER'])) {
$userdata=array(
'ip'=>$_SERVER['REMOTE_ADDR'],
'ua'=>$_SERVER['HTTP_USER_AGENT'],
'source'=>getenv('HTTP_REFERER'),
'page'=>"https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'],
'resource'=>"Добрые-Взрослые"
);
}
else{
$userdata=array(
'ip'=>$_SERVER['REMOTE_ADDR'],
'ua'=>$_SERVER['HTTP_USER_AGENT'],
'source'=>"default",
'page'=>"https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'],
'resource'=>"Добрые-Взрослые"
);
}
$ip_data = @json_decode(file_get_contents("http://ip-api.com/json/".$userdata['ip']));
if($ip_data && $ip_data->country != null){
$city = $ip_data->city;
$region = $ip_data->regionName;
$country = $ip_data->country;
}
$db=Yii::app()->db->createCommand();
$db->insert("statistic",array(
"date"=>date('Y-m-d H:i:s'),
"ip"=>$userdata['ip'],
"city"=>$city,
"region"=>$region,
"country"=>$country,
"ua"=>$userdata['ua'],
"source"=>$userdata['source'],
"page"=>$userdata['page'],
"month"=>date('m'),
"year"=>date('Y'),
"week"=>date('W'),
"resource"=>$userdata['resource']
));
}
}
else{
}
?>
А сама база данных о посещаемости выглядит следующим образом:
И почему-то заказчику не устроила ошибка 1062 , возникаемая при множественных переходах между страницами и успешных добавлениях в базу информации о посещаемости:
В Интернете я нашел множество методов решения этой проблемы, выполнил несколько методов и ничего не помогло.
Пробовал сделать столбец с
AUTO_INCRIMENT, согласно стэкаверфловским инструкциям и ничего не подействовало...
Из-за чего может быть ошибка? Как по-реальному решить эту проблему(даже, ошибка была внутри MySQL-типа
DATETIME)? Что с этим делать?
Заранее благодарю!