Вход

Просмотр полной версии : [Вопрос] Сохранение



Skyline
20.03.2015, 21:04
Здравствуйте, начал разбираться в MySQL, не пойму, как записывается сохранение. Сделал диалог для выбора пола, который должен записываться и сохраняться, а так же скин. В БД переменные всегда = 0. Сохранения нет. Не знаю почему.

Вот аккаунты записи:


stock CreateNewAccount(playerid, password[])
{
new query_string[70+MAX_PLAYER_NAME+30];
format(query_string, sizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('%s', '%s')", pInfo[playerid][pName], password);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

stock SaveAccount(playerid)
{
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s'", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s'", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d'", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d'", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

А вот сам диалог выбора пола:

case dPolIgroka:
{
if(response)
{
SendClientMessage(playerid, COLOR_WHITE, "Хорошо, ты {33aa33}Парень.");
pInfo[playerid][pSex] = 1;
SetPlayerSkin(playerid, 23);
pInfo[playerid][pChar] = 23;
return true;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Хорошо, ты {33aa33}Девушка.");
pInfo[playerid][pSex] = 2;
SetPlayerSkin(playerid, 90);
pInfo[playerid][pChar] = 90;
return true;
}
}
Подскажите что я не так делаю?

Gressie
21.03.2015, 00:33
Попробуй так:

stock SaveAccount(playerid)
{
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

Skyline
21.03.2015, 01:23
Нет,все так же.. в БД они = 0.

- - - Добавлено - - -

Может дело не в самой сохранке а выводе диалогов?
Вот сами диалоги.


switch(dialogid)
{
case dRegister:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext)) return ErrorDialogMessage(playerid, dRegister, 0);
else if(strlen(inputtext) < 4) return ErrorDialogMessage(playerid, dRegister, 1);
else if(strlen(inputtext) > 30) return ErrorDialogMessage(playerid, dRegister, 2);
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ErrorDialogMessage(playerid, dRegister, 3);
}
}
new string[70];
strins(pInfo[playerid][pPassword], inputtext, 0);
CreateNewAccount(playerid, pInfo[playerid][pPassword]);
format(string,sizeof(string),"{FFDEAD}Аккаунт зарегистрирован\nВведи пароль для продолжения:");
ShowPlayerDialog(playerid, dRegister1,DIALOG_STYLE_PASSWORD,"Авторизация",string,"Вход","Отмена");
return 1;
}
case dLogin:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext)) return ErrorDialogMessage(playerid, dLogin, 0);
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ErrorDialogMessage(playerid, dLogin, 1);
}
}
if(!strcmp(pInfo[playerid][pPassword], inputtext))
{
new query_string[52+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
mysql_function_query(mysql_connect_ID, query_string, true, "UploadPlayerAccount","i", playerid);
}
else ErrorDialogMessage(playerid, dLogin, 2);
return 1;
}
case dRegister1:
{
if(!response) return Kick(playerid);
if(!strlen(inputtext)) return ErrorDialogMessage(playerid, dRegister1, 0);
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ErrorDialogMessage(playerid, dRegister1, 1);
}
}
if(!strcmp(pInfo[playerid][pPassword], inputtext))
{
new query_string[52+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
mysql_function_query(mysql_connect_ID, query_string, true, "UploadPlayerAccount","i", playerid);
}
else
{
ErrorDialogMessage(playerid, dRegister1, 2);
return 1;
}
ShowPlayerDialog(playerid,dPolIgroka,DIALOG_STYLE_MSGBOX,"Пол","{FFDEAD}Укажи свой пол","Парень","Девушка");
}
case dPolIgroka:
{
if(response)
{
SendClientMessage(playerid, COLOR_WHITE, "Хорошо, ты {33aa33}Парень.");
pInfo[playerid][pSex] = 1;
SetPlayerSkin(playerid, 23);
pInfo[playerid][pSkin] = 23;
return true;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Хорошо, ты {33aa33}Девушка.");
pInfo[playerid][pSex] = 2;
SetPlayerSkin(playerid, 90);
pInfo[playerid][pSkin] = 90;
return true;
}
}

$continue$
21.03.2015, 02:51
OnGameModeInit, заходишь на сервер и кидаешь нам лог


mysql_log(LOG_ALL);

Skyline
21.03.2015, 08:26
[07:24:39] [DEBUG] mysql_connect - host: "localhost", user: "root", database: "first_database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[07:24:39] [DEBUG] CMySQLHandle::Create - creating new connection..
[07:24:39] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[07:24:39] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[07:24:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[07:24:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[07:24:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[07:24:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[07:24:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[07:24:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[07:24:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[07:24:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[07:24:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[07:24:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[07:25:05] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `password` FROM `accounts` WHERE `player_name` = 'Kent_No", callback: "FindPlayerInTable", format: "i"
[07:25:06] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - starting query execution
[07:25:06] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - query was successfully executed within 1.135 milliseconds
[07:25:06] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[07:25:06] [DEBUG] Calling callback "FindPlayerInTable"..
[07:25:06] [DEBUG] cache_get_data - connection: 1
[07:25:06] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[07:25:10] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('Kent", callback: "(null)", format: "(null)"
[07:25:10] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[07:25:10] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 17.60 milliseconds
[07:25:10] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[07:25:13] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[07:25:13] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[07:25:13] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.428 milliseconds
[07:25:13] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[07:25:13] [DEBUG] Calling callback "UploadPlayerAccount"..
[07:25:13] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[07:25:13] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "23"
[07:25:13] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[07:25:56] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[07:25:56] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[07:25:56] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `ID` = '23'' at line 1
[07:25:56] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError

$continue$
21.03.2015, 10:47
Ошибка есть, походу стринг маленький судя по всему...
Для точности сделай так, и не выходя из игры кинь лог что выведет в чат:


stock SaveAccount(playerid)
{
new string_test[500];
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
format(string_test, sizeof(string_test), "%s", query_string);
SendClientMessageToAll(0xFFCD00ff, string_test);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

OnPlayerUpdate


/* НА ВРЕМЯ!! */
SaveAccount(playerid)

Desulaid
21.03.2015, 15:02
Я бы проще сделал. Например:
Диалог выбора пола

case dPolIgroka:
{
if(response)
{
pInfo[playerid][pSex] = 1; // мужчина
SendClientMessage(playerid,-1,"Хорошо, вы теперь мужчина");
SetPlayerSkin(playerid, 23);
}
if(!response)
{
pInfo[playerid][pSex] = 2; // женщина
SendClientMessage(playerid,-1,"Хорошо, вы теперь женщина");
SetPlayerSkin(playerid, 90);
}
pInfo[playerid][pChar] = GetPlayerSkin(playerid);
}
Ps. транслит - не лучший вариант понимания кода. Сделал бы dPlayerSex и т.д.

На счет сохранения. Попробуй для теста увеличить количество ячеек, например 1054. Потом проверь, создается ли аккаунт, если да, то просто вычисли точное количество ячеек и будет тебе счастье :)

Skyline
21.03.2015, 15:19
Ну вообщем в чат выводится это, постоянно.

[14:17:18] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('Kent", callback: "(null)", format: "(null)"
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 48.407 milliseconds
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[14:17:21] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[14:17:21] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.538 milliseconds
[14:17:21] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[14:17:21] [DEBUG] Calling callback "UploadPlayerAccount"..
[14:17:21] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[14:17:21] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "24"
[14:17:21] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[14:17:21] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `ID` = '24'' at line 1
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - starting query execution

Desulaid
21.03.2015, 15:24
Вот в этом

stock SaveAccount(playerid)
{
new string_test[500];
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
format(string_test, sizeof(string_test), "%s", query_string);
SendClientMessageToAll(0xFFCD00ff, string_test);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}
Найди это:


format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);


и замени на это:

format(query_string, sizeof(query_string), "%s `skin` = '%d'", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);

И ошибка в логах пропадут

$continue$
21.03.2015, 15:45
Ну вообщем в чат выводится это, постоянно.

[14:17:18] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('Kent", callback: "(null)", format: "(null)"
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 48.407 milliseconds
[14:17:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[14:17:21] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[14:17:21] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.538 milliseconds
[14:17:21] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[14:17:21] [DEBUG] Calling callback "UploadPlayerAccount"..
[14:17:21] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[14:17:21] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "24"
[14:17:21] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[14:17:21] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `ID` = '24'' at line 1
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
[14:17:21] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[14:17:21] [DEBUG] CMySQLQuery::Execute[] - starting query execution

Дак ты используешь код исправленный от Maks5 или свой?
Зайди в игру в чат, выведит сообщение с запросом, заскринь его и кинь сюда

Skyline
21.03.2015, 21:00
Ошибка есть, походу стринг маленький судя по всему...
Для точности сделай так, и не выходя из игры кинь лог что выведет в чат:


stock SaveAccount(playerid)
{
new string_test[500];
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
format(string_test, sizeof(string_test), "%s", query_string);
SendClientMessageToAll(0xFFCD00ff, string_test);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

OnPlayerUpdate


/* НА ВРЕМЯ!! */
SaveAccount(playerid)


Вот что использую.
Вот сам скрин. Ссылка (http://i11.pixs.ru/storage/6/2/0/samp148png_2796847_16574620.png)
В игре все пишет правильно, но при этом в БД не записывается ни пол, ни скин.

$continue$
21.03.2015, 21:25
А если так?


stock SaveAccount(playerid)
{
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d'", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

Skyline
21.03.2015, 21:45
Не записывается, если оставить SaveAccounts(playerid); В OnPlayerUpdate, то записывает одну секунду, если перезайти, то все слетат так же и в БД все онулировано, (пол и скин)

$continue$
21.03.2015, 22:22
Логи mysql + скрин из игры


stock SaveAccount(playerid)
{
new string_test[500];
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";
format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, pInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, pInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, pInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d'", query_string, pInfo[playerid][pChar]);
format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, pInfo[playerid][pID]);
format(string_test, sizeof(string_test), "%s", query_string);
SendClientMessageToAll(0xFFCD00ff, string_test);
mysql_function_query(mysql_connect_ID, query_string, false, "", "");
return 1;
}

Skyline
21.03.2015, 22:44
21:42:42] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 11.627 milliseconds
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:42] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 10.522 milliseconds
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:43] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 4.37 milliseconds
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:43] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 35.663 milliseconds
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 4.844 milliseconds
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving

Скриншот. (http://pixs.ru/showimage/samp149png_9611719_16576166.png)

$continue$
21.03.2015, 23:02
21:42:42] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 11.627 milliseconds
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:42] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 10.522 milliseconds
[21:42:42] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:43] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 4.37 milliseconds
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:43] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 35.663 milliseconds
[21:42:43] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[21:42:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `player_name` = 'Kent_No', `password` = '1", callback: "(null)", format: "(null)"
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 4.844 milliseconds
[21:42:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving

Скриншот. (http://pixs.ru/showimage/samp149png_9611719_16576166.png)

Все отлично сохранено по логам... Да и нету синтаксической ошибки в запросе...
До сих пор не сохраняет? mysql_log(LOG_ALL) включен?

Skyline
21.03.2015, 23:10
Не сохраняет.
А в БД записывал данные, т.к. мы вызывали SaveAccount в OnPlayerUpdate, но даже если записывали, то после перезахода все онулировалось и пол и скин = 0.
Причины так и не пойму.
А все показывало хорошо именно из-за OnPlayerUpdate - он делал каждую секунду сверку, но не сохранял, а только было назначение данных параметров, а после перезахода сохранения никакого не произошло.

mysql_log(LOG_ALL); Включен.

$continue$
21.03.2015, 23:12
Не сохраняет.
А в БД записывал данные, т.к. мы вызывали SaveAccount в OnPlayerUpdate, но даже если записывали, то после перезахода все онулировалось и пол и скин = 0.
Причины так и не пойму.
А все показывало хорошо именно из-за OnPlayerUpdate - он делал каждую секунду сверку, но не сохранял, а только было назначение данных параметров, а после перезахода сохранения никакого не произошло.

mysql_log(LOG_ALL); Включен.

Из OnPlayerUpdate уберай код вызов стока сохранение, по логом все спокойно, отчисть логи, зайди на сервер, оффнись покажи логи, нету ошибок

Skyline
21.03.2015, 23:16
[22:15:08] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `password` FROM `accounts` WHERE `player_name` = 'Kent_No", callback: "FindPlayerInTable", format: "i"
[22:15:08] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - starting query execution
[22:15:08] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - query was successfully executed within 1.972 milliseconds
[22:15:08] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[22:15:08] [DEBUG] Calling callback "FindPlayerInTable"..
[22:15:08] [DEBUG] cache_get_data - connection: 1
[22:15:08] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[22:15:11] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('Kent", callback: "(null)", format: "(null)"
[22:15:11] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[22:15:12] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 17.820 milliseconds
[22:15:12] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[22:15:14] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[22:15:14] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[22:15:14] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.382 milliseconds
[22:15:14] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[22:15:14] [DEBUG] Calling callback "UploadPlayerAccount"..
[22:15:14] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[22:15:14] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "35"
[22:15:14] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

Вот без SaveAccount в OnPlayerUpdate.

Skyline
22.03.2015, 13:01
Проблема не устранена.

$continue$
22.03.2015, 15:41
В логах все нормально, кинь запрос на прямую в базу, что вернет?
P.S: phpmyadmin > sql


UPDATE `accounts` SET `player_name` = 'свой_ник', `password` = 'char_passwords', `pol` = '1', `skin` = '1' WHERE `ID` = 'свой_ид_аккаунта'

Skyline
22.03.2015, 18:11
В логах:

[17:09:22] [DEBUG] mysql_connect - host: "localhost", user: "root", database: "first_database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[17:09:22] [DEBUG] CMySQLHandle::Create - creating new connection..
[17:09:22] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[17:09:22] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:53] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `password` FROM `accounts` WHERE `player_name` = 'Kent_No", callback: "FindPlayerInTable", format: "i"
[17:09:53] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - starting query execution
[17:09:53] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - query was successfully executed within 11.357 milliseconds
[17:09:53] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[17:09:53] [DEBUG] Calling callback "FindPlayerInTable"..
[17:09:53] [DEBUG] cache_get_data - connection: 1
[17:09:53] [DEBUG] cache_get_field_content - row: 0, field_name: "password", connection: 1, max_len: 30
[17:09:53] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "password", data: "123456"
[17:09:53] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[17:09:57] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[17:09:57] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[17:09:57] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.450 milliseconds
[17:09:57] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[17:09:57] [DEBUG] Calling callback "UploadPlayerAccount"..
[17:09:57] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[17:09:57] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "35"
[17:09:57] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

Скин так же не появляется и пол. Сохраняется только пароль.

$continue$
22.03.2015, 21:05
В логах:

[17:09:22] [DEBUG] mysql_connect - host: "localhost", user: "root", database: "first_database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[17:09:22] [DEBUG] CMySQLHandle::Create - creating new connection..
[17:09:22] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[17:09:22] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:22] [DEBUG] CMySQLConnection::Connect - connection was successful
[17:09:22] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[17:09:53] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `password` FROM `accounts` WHERE `player_name` = 'Kent_No", callback: "FindPlayerInTable", format: "i"
[17:09:53] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - starting query execution
[17:09:53] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - query was successfully executed within 11.357 milliseconds
[17:09:53] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[17:09:53] [DEBUG] Calling callback "FindPlayerInTable"..
[17:09:53] [DEBUG] cache_get_data - connection: 1
[17:09:53] [DEBUG] cache_get_field_content - row: 0, field_name: "password", connection: 1, max_len: 30
[17:09:53] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "password", data: "123456"
[17:09:53] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[17:09:57] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[17:09:57] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[17:09:57] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.450 milliseconds
[17:09:57] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[17:09:57] [DEBUG] Calling callback "UploadPlayerAccount"..
[17:09:57] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[17:09:57] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "35"
[17:09:57] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

Скин так же не появляется и пол. Сохраняется только пароль.
-_-

Напрямую в базу, сказал же phpmyadmin > sql

Skyline
22.03.2015, 21:56
Ну вот, так и сделал.

[20:55:58] [DEBUG] mysql_connect - host: "localhost", user: "root", database: "first_database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[20:55:58] [DEBUG] CMySQLHandle::Create - creating new connection..
[20:55:58] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[20:55:58] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[20:55:58] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:55:58] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:55:58] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:55:58] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `password` FROM `accounts` WHERE `player_name` = 'Kent_No", callback: "FindPlayerInTable", format: "i"
[20:55:58] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:55:58] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:55:58] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[20:55:58] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:55:58] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:55:58] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:55:58] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:55:58] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - starting query execution
[20:55:58] [DEBUG] CMySQLQuery::Execute[FindPlayerInTable] - query was successfully executed within 0.615 milliseconds
[20:55:58] [DEBUG] CMySQLConnection::Connect - connection was successful
[20:55:58] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[20:55:58] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[20:55:58] [DEBUG] Calling callback "FindPlayerInTable"..
[20:55:58] [DEBUG] cache_get_data - connection: 1
[20:55:58] [DEBUG] cache_get_field_content - row: 0, field_name: "password", connection: 1, max_len: 30
[20:55:58] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "password", data: "123456"
[20:55:58] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[20:56:03] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `accounts` WHERE `player_name` = 'Kent_No'", callback: "UploadPlayerAccount", format: "i"
[20:56:03] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - starting query execution
[20:56:03] [DEBUG] CMySQLQuery::Execute[UploadPlayerAccount] - query was successfully executed within 0.533 milliseconds
[20:56:03] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[20:56:03] [DEBUG] Calling callback "UploadPlayerAccount"..
[20:56:03] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1
[20:56:03] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "36"
[20:56:03] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

$continue$
22.03.2015, 21:57
И прости какой жопой, тебе в логах от сервера это показало? -_-
Пожалуй пора документацию от sql читать

Skyline
22.03.2015, 23:06
Короче ладно, я это не понимаю. Извини что украл время.