Собственно сама суть.
Пытался мучаться день по иду выгружать данные - выгружало в игре одну строку, с такой же ошибкой, как и тут, только на столбец ида...
В базе выгружало же все строки которые есть.
Сегодня решил переделать на загрузку по нику, а-ля повезет и заработает как надо.
В логе вижу постоянно это.
Код HTML:
[plugins/mysql] cache_get_value_name: field 'name_player' not found (D:\Modes\VALVE RP\gamemodes\valve.pwn:32163)
Таблица в базе есть со столбцами.
Ник записывается и выгружается. Но выгружает только одну строку - вместо всех, которые есть в базе.
Как выглядит в игре выгрузка..
Сам код команды /login
PHP код:
CMD:login(playerid, params[])
{
clearmassive; // очищение глобальной переменной global_massive
mysql_format(MysqlTest, global_massive, sizeof(global_massive),
"SELECT `data_and_time_login`, `ip_login`, `type_login` FROM `login_player` WHERE `name_player` = '%e' LIMIT 0,15",
Name(playerid)
);
mysql_tquery(MysqlTest, global_massive, "ShowLoginForEnterGame", "i", playerid);
return 1;
}
Проверка на наличие записей и показ оных.
PHP код:
forward ShowLoginForEnterGame(playerid);
public ShowLoginForEnterGame(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows)
{
new type, time_and_data[50], info_for_player[32], data_one[32];//, name_player[MAX_PLAYER_NAME+1];//, id =1;//, id;
new year, month, day, hour, minute, second;
gettime(hour, minute, second);
getdate(year, month, day);
//GetPlayerName(playerid, name_player, sizeof(name_player));
for(new i; i < rows; i++)
{
//cache_get_value_name_int(i, "id", id);
cache_get_value_name(i, "name_player", Name(i));
printf("name_player %s", Name(i));
cache_get_value_name(i, "ip_login", p_info[i][pOldIP]);
cache_get_value_name(i, "data_and_time_login", time_and_data);
cache_get_value_name_int(i, "type_login", type);
//ConnectionLog_LastID[playerid] = id;
clearmassive;
format(data_one, sizeof(data_one), "%04d-%02d-%02d в %02d:%02d:%02d", year, month, day, hour, minute, second);
switch(type)
{
case CONNECTION_LOG_LOGIN_ERROR: format(info_for_player, sizeof(info_for_player), " {EFA200}Неудачно");
case CONNECTION_LOG_LOGIN_SUCCESS: format(info_for_player, sizeof(info_for_player)," {00F300}Удачно");
default: format(info_for_player, sizeof(info_for_player), " Неизвестно");
}
format(global_massive, sizeof(global_massive),
"{FFFFFF}%s %i. %s ip: %s %s", global_massive, i+1, data_one, p_info[i][pOldIP], info_for_player);
new info_id[37+7];
format(info_id, sizeof(info_id), " {ffffff}Последние авторизации (№ %i)", p_info[i][p_mysqlid]);
SPD(i, dMes, DIALOG_STYLE_MSGBOX, info_id, global_massive," Скрыть", "");
}
}
else SendClientMessage(playerid, COLOR_LIGHTGREY, " Ошибка: Записей не найдено.");
return true;
}
Вывод в логе принтом:
Код HTML:
[12:11:13] name_player Andy_Fawkess
[12:11:13] name_player
[12:11:13] name_player
Сам сток добавления в базу записей.
PHP код:
stock AddConnectionLog(playerid, type = 1)
{
new
data_player[50],
player_ip[16],
year, month, day,
hour, minute, second,
name_player[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name_player, sizeof(name_player));
getdate(year, month, day);
gettime(hour, minute, second);
format(data_player, sizeof(data_player), "%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, minute, second);
GetPlayerIp(playerid, player_ip, sizeof(player_ip) );
clearmassive;
format(global_massive, sizeof(global_massive),
"INSERT INTO `login_player` (`name_player`, `ip_login`, `type_login`, `data_and_time_login`) VALUES ('%s', '%s', '%i', '%s')",
name_player, player_ip, type, data_player
);
mysql_query(MysqlTest, global_massive, false);
return true;
}
Ну и структура базы, вдруг нужно..