Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> База данных отключается без сообщения
Владимир55  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 916
Пользователь №: 27293
На форуме: 5 лет, 7 месяцев, 24 дня
Карма: -1




Задача довольно простая - закачать на сервер текстовой файл с данными вот в виде пяти колонок:
user posted image

А на сайте первую, вторую и четвертую колонки надо превратить в таблицу и закачать в базу.

Структура таблицы:

		$query = "CREATE TABLE registr_geo
(
id INT (11) NOT NULL AUTO_INCREMENT,
strana CHAR (10),
n INT (11),
PRIMARY KEY(id)
) COLLATE='utf8_general_ci'
ENGINE=InnoDB CHARACTER SET utf8"
;
mysql_query($query);
echo "<BR> Создана таблица registr_geo ";
echo mysql_errno()." 35 : ".mysql_error()."<BR>";

$query = "ALTER TABLE registr_geo ADD UNIQUE (strana)";
mysql_query($query);
echo mysql_errno()." 40 : ".mysql_error()."<BR>";



Запись делается вот таким кодом:

	// Заполним данными таблицу распределения IP адресов по территориям registr_terr
mysql_query("TRUNCATE TABLE `registr_terr`");

$buff = file_get_contents("geo_files.txt");

$buff = str_replace (chr(10), "<br />", $buff);
$buff = trim ($buff);

$m_gos = explode("<br />", $buff);

for ($i = 0; $i < count($m_gos); $i++)
{

unset($m_det);
$m_det = explode(chr(9), $m_gos[$i]);

echo "<br />$i 0 - ". $m_det[0] . " | 1 - " . $m_det[1] . " | 2 - " . $m_det[2] . " | 3 - " . $m_det[3] . " | 4 - " . $m_det[4];

mysql_query("INSERT INTO registr_terr (`min`, `max`, `strana`)
VALUES
('
$m_det[0]', '$m_det[1]', '$m_det[3]')");
echo mysql_errno()." 439 : ".mysql_error()."<BR>";
}


// Проверка полноты записи
unset($res);
unset($row);
$res = mysql_query("SELECT COUNT(id) AS cnt FROM registr_terr ");
$n_str = mysql_result($res, 0, 'cnt');


echo "<br />i $i = $n_str" ;


В конце сличается количество строк в исходной инфе и в созданной таблице.

И эти числа не совпадают!

В текстовом файле 219172 строк, а в таблице только 105374.

В процессе работы выводится сообщение "Duplicate entry '2147483647-2147483647' for key 'min'".

user posted image

Нюанс в том, что вот этого числа 2147483647, порождающего проблему, в текстовом файле с заносимой информацией вообще нет! Оно каким-то образом порождается именно сервером!

Для контроля я добавил вывод заносимой информации в браузер. И в браузере тоже нет этого числа 2147483647. Как же тогда сервер пишет его в базу?

(А при работе на Денвере все исполняется верно, и этого числа 2147483647 в базе нет).

Хостер молчит - видимо, сам не знает.

Вот ссылка на скрипт http://fh7929mi.bget.ru/baza-ip-2.php
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Ну а само число 2147483647 не намекает ни на что?
http://dev.mysql.com/doc/refman/5.7/en/integer-types.html
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Владимир55  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Любопытный
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 916
Пользователь №: 27293
На форуме: 5 лет, 7 месяцев, 24 дня
Карма: -1




Спасибо, в этом было все дело!

Вот только сообщение в браузере, как мне кажется, не соответствует проблеме.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса