Главная Главная  Форум Форум  Мини чат Мини чат  Файлы Файлы  Новости Новости  Сайты Сайты  Статьи Статьи  Документация
История мини чата Написать
[ Нояб 26, 22:13 ] xeon: Да движок умер жалко хотя давно им не пользуюсь мои проекты доживают на нем пока так готовлю свой движок :)
[ Сент 30, 13:59 ] Eps: Проект умер походу....
[ Февр 04, 15:56 ] M@XIM: Есть кто?)
[ Июнь 12, 12:16 ] wsok: проект умер чтоль? интеграции с ксеном не ждать?
[ Нояб 25, 20:30 ] Jade: Вот и я тут появилась. ))

Партнёры

Перейти к содержимому


нужна помощь с модулем


Сообщений в теме: 14

#1 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 03 November 2013 - 10:14

ребят такая маленькая проблемка появилась решил дописать сбор игровой статистики с ксс сервера начал писать и наткнулся на очень интересный глюк глюк заключается втом что я конекчусь на фтп и забираю от туда фаил rank.sql записываю его в папку up в папке модуля и заодно ганю его в базу данных но вот облом почемуто он наотрез нехочет еговоспринимать и выводит ошибку

ERROR: Database error.
Cannot execute the query:
MySql Error returned: Query was empty
MySql Error code: 1065

но если я открываю фаил rank.sql беру от туда базу и вставляю её уже сам через myadmin то он спокойно записывает уже всю голову сломал вот сам скрипт сбора инфы а также его записи в бд помагите с данным вопросом

function update() {
global $DB;
$ftp_server = "localhost";
$ftp_user_name = "root";
$ftp_user_pass = "123456";
$ftpDIR = "";
$bd_table = "rankcss1";
$DEBUG = false;
$conn_id = ftp_connect($ftp_server);
if(!$conn_id)
die ("Не могу подключиться к FTP серверу!");
if(!ftp_login($conn_id, $ftp_user_name, $ftp_user_pass))
die ("Не удалось войти на FTP-сервер!");

$filename = "rank.sql";
if (ftp_get($conn_id, "mkportal/modules/stats/up/rank.sql", $ftpDIR . "/rank.sql", FTP_BINARY)) {
if(isset($_GET['echo']) || $DEBUG)
echo "Успешно полученный файл<BR>";
ftp_close($conn_id);
} else {


if(isset($_GET['echo']) || $DEBUG){
echo "Был проблема чтения с FTP или записи в папку вверх. Проверка, FTP файл существует?.<BR>";
$contents = ftp_nlist($conn_id, $ftpDIR . "/.");
$found = false;

foreach($contents as $file){
if($file == "rank.sql"){
echo "rank.sql найдено. Проблема записи в папку вверх.";
$found = true;
break;
}

}
if(!$found){
echo "rank.sql не найден. Проблема чтения с FTP. Files:<BR>";
var_dump($contents);
}
}
ftp_close($conn_id);
die("");
}

$backupFile[0]['file'] = "mkportal/modules/stats/up/rank.sql";
$backupFile[0]['table'] = $bd_table;

foreach ($backupFile as $table){

$DB_DROP = "DROP TABLE `" . $table['table'] . "`;";

$DB->query("{$DB_DROP}");

$current = file_get_contents($table['file'], true);

$query = explode("\n", $current);

foreach($query as $DB_CREATE){

$DB->query("{$DB_CREATE}");
//print_r($DB_CREATE);

}

}
$DB->close_db();

}


#2 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 03 November 2013 - 17:11

вывод  print_r($DB_CREATE)  и print_r($query) покажи

#3 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 03 November 2013 - 19:30

Просмотр сообщенияСнеговик (03 November 2013 - 17:11) писал:

вывод  print_r($DB_CREATE)  и print_r($query) покажи

вот print_r($DB_CREATE)

CREATE TABLE IF NOT EXISTS `rankme` (id INTEGER PRIMARY KEY, steam TEXT, name TEXT, lastip TEXT, score NUMERIC, kills NUMERIC, deaths NUMERIC, suicides NUMERIC, tk NUMERIC, shots NUMERIC, hits NUMERIC, headshots NUMERIC, connected NUMERIC, rounds_tr NUMERIC, rounds_ct NUMERIC, lastconnect NUMERIC,knife NUMERIC,glock NUMERIC,usp NUMERIC,p228 NUMERIC,deagle NUMERIC,elite NUMERIC,fiveseven NUMERIC,m3 NUMERIC,xm1014 NUMERIC,mac10 NUMERIC,tmp NUMERIC,mp5navy NUMERIC,ump45 NUMERIC,p90 NUMERIC,galil NUMERIC,ak47 NUMERIC,sg550 NUMERIC,famas NUMERIC,m4a1 NUMERIC,aug NUMERIC,scout NUMERIC,sg552 NUMERIC,awp NUMERIC,g3sg1 NUMERIC,m249 NUMERIC,hegrenade NUMERIC,flashbang NUMERIC,smokegrenade NUMERIC, head NUMERIC, chest NUMERIC, stomach NUMERIC, left_arm NUMERIC, right_arm NUMERIC, left_leg NUMERIC, right_leg NUMERIC,c4_planted NUMERIC,c4_exploded NUMERIC,c4_defused NUMERIC,ct_win NUMERIC, tr_win NUMERIC, hostages_rescued NUMERIC, vip_killed NUMERIC, vip_escaped NUMERIC, vip_played NUMERIC);ERROR: Database error.<br> Cannot execute the query:  <br>MySql Error returned: Query was empty <br>MySql Error code: 1065

и это print_r($query)
Array
(
	[0] => CREATE TABLE IF NOT EXISTS `rankme` (id INTEGER PRIMARY KEY, steam TEXT, name TEXT, lastip TEXT, score NUMERIC, kills NUMERIC, deaths NUMERIC, suicides NUMERIC, tk NUMERIC, shots NUMERIC, hits NUMERIC, headshots NUMERIC, connected NUMERIC, rounds_tr NUMERIC, rounds_ct NUMERIC, lastconnect NUMERIC,knife NUMERIC,glock NUMERIC,usp NUMERIC,p228 NUMERIC,deagle NUMERIC,elite NUMERIC,fiveseven NUMERIC,m3 NUMERIC,xm1014 NUMERIC,mac10 NUMERIC,tmp NUMERIC,mp5navy NUMERIC,ump45 NUMERIC,p90 NUMERIC,galil NUMERIC,ak47 NUMERIC,sg550 NUMERIC,famas NUMERIC,m4a1 NUMERIC,aug NUMERIC,scout NUMERIC,sg552 NUMERIC,awp NUMERIC,g3sg1 NUMERIC,m249 NUMERIC,hegrenade NUMERIC,flashbang NUMERIC,smokegrenade NUMERIC, head NUMERIC, chest NUMERIC, stomach NUMERIC, left_arm NUMERIC, right_arm NUMERIC, left_leg NUMERIC, right_leg NUMERIC,c4_planted NUMERIC,c4_exploded NUMERIC,c4_defused NUMERIC,ct_win NUMERIC, tr_win NUMERIC, hostages_rescued NUMERIC, vip_killed NUMERIC, vip_escaped NUMERIC, vip_played NUMERIC);
	[1] =>
	[2] =>
	[3] =>
	[4] =>
	[5] => INSERT INTO `rankme` VALUES ("1","STEAM_0:0:45110904","Panterk@2","127.0.0.1","1010","0","0","0","0","0","0","0","179013","0","0","1366135392","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","0","0","0","0","0","0","0","0");
	[6] => INSERT INTO `rankme` VALUES ("2","STEAM_0:0:45610903","Panterk@","127.0.0.1","1010","0","0","0","0","0","0","0","179013","0","0","1366135392","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","0","0","0","0","0","0","0","0");
	[7] => INSERT INTO `rankme` VALUES ("3","STEAM_0:1:27184853","Nyako-Sensei^_^","80.92.106.169","1267","95","160","5","1","1221","456","32","19958","105","97","1368819437","5","0","0","0","14","0","0","2","33","0","0","0","5","4","0","14","1","1","1","0","1","0","7","1","4","2","0","0","74","127","81","79","37","40","18","3","1","1","27","50","0","0","0","0");
	[8] => INSERT INTO `rankme` VALUES ("4","STEAM_0:0:45110903","xXx","79.98.8.34","2192","6424","5776","201","68","38030","9018","1373","752111","105","8266","1372455705","112","2","6","0","912","6","0","0","0","0","0","0","0","20","0","15","100","1","85","2","8","0","5013","7","2","133","0","0","1491","2989","1089","2219","739","281","210","1","1","82","3600","41","10","0","0","0");
	[9] => INSERT INTO `rankme` VALUES ("5","STEAM_0:1:23728661","777","81.23.167.43","1015","2","3","0","0","49","8","1","715","1","2","1371068731","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","2","0","0","0","0","0","0","0","0","0","1","5","0","0","1","1","0","0","0","0","0","0","0","0","0","0");


#4 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 03 November 2013 - 20:23

$DB->query может обработать только запросы типа
INSERT INTO `rankme` VALUES ("5","STEAM_0:1:23728661","777","81.23.167.43","1015","2","3","0","0","49","8","1","715","1","2","1371068731","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","2","0","0","0","0","0","0","0","0","0","1","5","0","0","1","1","0","0","0","0","0","0","0","0","0","0");

CREATE TABLE IF NOT EXISTS `rankme` (id INTEGER PRIMARY KEY, steam TEXT, name TEXT, lastip TEXT, score NUMERIC, kills NUMERIC, deaths NUMERIC, suicides NUMERIC, tk NUMERIC, shots NUMERIC, hits NUMERIC, headshots NUMERIC, connected NUMERIC, rounds_tr NUMERIC, rounds_ct NUMERIC, lastconnect NUMERIC,knife NUMERIC,glock NUMERIC,usp NUMERIC,p228 NUMERIC,deagle NUMERIC,elite NUMERIC,fiveseven NUMERIC,m3 NUMERIC,xm1014 NUMERIC,mac10 NUMERIC,tmp NUMERIC,mp5navy NUMERIC,ump45 NUMERIC,p90 NUMERIC,galil NUMERIC,ak47 NUMERIC,sg550 NUMERIC,famas NUMERIC,m4a1 NUMERIC,aug NUMERIC,scout NUMERIC,sg552 NUMERIC,awp NUMERIC,g3sg1 NUMERIC,m249 NUMERIC,hegrenade NUMERIC,flashbang NUMERIC,smokegrenade NUMERIC, head NUMERIC, chest NUMERIC, stomach NUMERIC, left_arm NUMERIC, right_arm NUMERIC, left_leg NUMERIC, right_leg NUMERIC,c4_planted NUMERIC,c4_exploded NUMERIC,c4_defused NUMERIC,ct_win NUMERIC, tr_win NUMERIC, hostages_rescued NUMERIC, vip_killed NUMERIC, vip_escaped NUMERIC, vip_played NUMERIC
это вопще запрос на создание таблицы, зачем он тут

#5 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 03 November 2013 - 20:52

Просмотр сообщенияСнеговик (03 November 2013 - 20:23) писал:

$DB->query может обработать только запросы типа
INSERT INTO `rankme` VALUES ("5","STEAM_0:1:23728661","777","81.23.167.43","1015","2","3","0","0","49","8","1","715","1","2","1371068731","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","2","0","0","0","0","0","0","0","0","0","1","5","0","0","1","1","0","0","0","0","0","0","0","0","0","0");

CREATE TABLE IF NOT EXISTS `rankme` (id INTEGER PRIMARY KEY, steam TEXT, name TEXT, lastip TEXT, score NUMERIC, kills NUMERIC, deaths NUMERIC, suicides NUMERIC, tk NUMERIC, shots NUMERIC, hits NUMERIC, headshots NUMERIC, connected NUMERIC, rounds_tr NUMERIC, rounds_ct NUMERIC, lastconnect NUMERIC,knife NUMERIC,glock NUMERIC,usp NUMERIC,p228 NUMERIC,deagle NUMERIC,elite NUMERIC,fiveseven NUMERIC,m3 NUMERIC,xm1014 NUMERIC,mac10 NUMERIC,tmp NUMERIC,mp5navy NUMERIC,ump45 NUMERIC,p90 NUMERIC,galil NUMERIC,ak47 NUMERIC,sg550 NUMERIC,famas NUMERIC,m4a1 NUMERIC,aug NUMERIC,scout NUMERIC,sg552 NUMERIC,awp NUMERIC,g3sg1 NUMERIC,m249 NUMERIC,hegrenade NUMERIC,flashbang NUMERIC,smokegrenade NUMERIC, head NUMERIC, chest NUMERIC, stomach NUMERIC, left_arm NUMERIC, right_arm NUMERIC, left_leg NUMERIC, right_leg NUMERIC,c4_planted NUMERIC,c4_exploded NUMERIC,c4_defused NUMERIC,ct_win NUMERIC, tr_win NUMERIC, hostages_rescued NUMERIC, vip_killed NUMERIC, vip_escaped NUMERIC, vip_played NUMERIC
это вопще запрос на создание таблицы, зачем он тут

ну от создания таблицы я никак не избавлюсь как модуль на сервере игровом сам так пишет этот sql фаил я его ток забираю с фтп на сайт и там его уже отправляю в бд передетем удалив эту таблицу в бд вроде вскрипте там видно функцую удаления самое смешное  

этот метод работает  но охото чтоб он от партала брал базу и там создовал таблицу ато уже весь модуль придётся писать в портале не используя бд портала като не удобно

foreach ($backupFile as $table){
$sql = "DROP TABLE `" . $table['table'] . "`;";
try {
mysql_query($sql);
} catch (Exception $e) {}

$current = file_get_contents($table['file']);

$query = explode("\n", $current);
foreach($query as $sql){
try {
mysql_query($sql);
} catch (Exception $e) {}

}
}

Сообщение отредактировал xeon: 03 November 2013 - 20:57


#6 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 03 November 2013 - 22:22

в скрипте идет удаление существующей таблицы. зачем? не сохраняются предыдущее данные. не будет возможность  вести нормальную статистику.

перед добавлением данных удаляй первый элемент массива с запросом на создание таблицы и удаляй пустые элементы массива, останется массив только с запросами на добавление новый значений.

#7 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 05 November 2013 - 19:10

так уменя на сервере фаил генерируется rank.sql  он дописывает туда новых участников и меремещяет их по иду взависимости от ранга (поэтому ток удалить и создать его заного в бд уже с обновлённой инфой) если я ошибаюсь поправте меня либо я не понимаю как это уже релизовать в модуле обработку данных из rank.sql (если несложно можно привести пример)

(уменя ещё такой вопрос возник не потеме кто нибуть знает как можно с мопощью модуля php с удолённым доступом к дедику по ssh - ssh2 менять значения sh скрипта по идам которые внём завязаны внутри [какие мне манулы почитать да поизучать] если я не ошибаюсь это bash скрипты от туда мне двигатся надо и счего начать?)

#8 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 05 November 2013 - 21:24

этот файл постоянно разрастается?

#9 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 05 November 2013 - 22:06

Просмотр сообщенияСнеговик (05 November 2013 - 21:24) писал:

этот файл постоянно разрастается?

да

#10 jr228

jr228

    Активный участник

  • Пользователи
  • PipPipPip
  • 110 сообщений
  • Пол:Мужчина
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 05 November 2013 - 22:21

помоему есть мод статистики который записывает не в файл, а сразу в бд.

#11 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 06 November 2013 - 17:54

Просмотр сообщенияjr228 (05 November 2013 - 22:21) писал:

помоему есть мод статистики который записывает не в файл, а сразу в бд.

неспорю ани есть но ани грамоздкие скучей ненужных прибамбасов плюс там удолённая связь с сервером такого типа сбора статы потвергает сервер к мелким лагам вовремя сбора поэтому он нам не подходит как унас народ при малейшом лаге теребит администрацию (также нужна удолённая работа mysql както неохото открывать его для удолёнки)

Сообщение отредактировал xeon: 06 November 2013 - 17:59


#12 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 10 November 2013 - 16:06

скинь этот файл

#13 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 10 November 2013 - 22:10

Просмотр сообщенияСнеговик (10 November 2013 - 16:06) писал:

скинь этот файл

в лс кинул

#14 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 11 November 2013 - 19:05

что формирует этот дамп? программа?

#15 xeon

xeon

    Активный участник

  • Пользователи
  • PipPipPip
  • 496 сообщений
  • Пол:Мужчина
  • Город:MSK
  • Интересы:PHP, MySQL, CSS, XML, HTML, JavaScript
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 12 November 2013 - 11:31

Просмотр сообщенияСнеговик (11 November 2013 - 19:05) писал:

что формирует этот дамп? программа?

да программа находящися на стороне игрового сервера



Ответить



  


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


MKPortal R1.0.2©2003-2008 mkportal.it
Logan ©2007-2011 RusMKPortal
Время: 0.00725 сек Память: 6.03MB Запросов к БД: 8