PDA

Просмотр полной версии : [Вопрос] После загрузки аккаунта не видит email.



Wise
26.07.2015, 13:28
В общем в названии темы всё понятно.


enum player_information
{
pID,
pName,
pPassword[20],
pSkin,
pEmail[30]
};
new pInfo[MAX_PLAYERS][player_information];

Запрос:

new tsql[65];
format(tsql, sizeof(tsql), "SELECT * FROM `users` WHERE `pName` = '%s'", nick(playerid));
mysql_function_query(base, tsql, true, "OnPlayerLogin", "i", playerid);

Загрузка аккаунта:

cache_get_field_content(0, "pEmail", pInfo[playerid][pEmail], base);
printf("Ваш емайл: %s", pInfo[playerid][pEmail]);
В логах емайл не отображается. Все остальные переменные успешно загружаются.

printf("Ваш email: %s", strlen(pInfo[playerid][pEmail]));
Если сделать так - результат тот же.

wAx
26.07.2015, 14:29
cache_get_field_content(0, "pEmail", pInfo[playerid][pEmail], base, 30);
попробуй!

Wise
26.07.2015, 15:12
cache_get_field_content(0, "pEmail", pInfo[playerid][pEmail], base, 30);
попробуй!

Спасибо, помогло. А можно узнать почему так?
Ведь вроде это необязательный параметр, когда я указал количество ячеек в player_information.

Ну по крайней мере так писал DeimoS в своём уроке по регистрации на MySQL.

cache_get_field_content(row, const field_name[], destination[], connectionHandle = 1, max_len=sizeof(destination));
/*-----------------------------------------------------------------------------------------------------------------
row - Номер строки в ВОЗВРАЩЁННЫХ данных, с которой будем работать (первая строка всегда равна нулю)
const field_name[] - Имя столбца, из которого и будем брать значение
destination[] - Массив, в который будет записан текст из столбца
connectionHandle - ID базы данных
max_len - Необязательный параметр. Изначально равен числу ячеек в массиве, который указали в "destination"*/

$continue$
26.07.2015, 16:34
cache_get_field_content(0, "pEmail", pInfo[playerid][pEmail], base, 30);
попробуй!
Email явно не 30.
255 + 1

vladua100
26.07.2015, 18:07
А можно узнать почему так?
Ведь вроде это необязательный параметр


wiki.sa-mp.com/ MySQL cache_get_field_content (http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_field_content)
Вот и ответ:


You have to provide the size (max_len) by yourself if you use an enum-array as destination.