Перейти к содержанию
Авторизация  
AnacondaZ

Проблема с проверкой mysql R5

Рекомендуемые сообщения

AnacondaZ

Описания:

Когда игрок зарегистрировался, данные сохранились, после перезахода или перезапуска сервера открывается диалог регистраций и так каждый раз.

Проверка на есть ли аккаунт или нет стоит в "OnPlayerConnect"

 

stock GetAccountID(playerid)


{
format(Query, 1000,"SELECT `ID` FROM `users` WHERE `Name` = '%s'", Player[playerid][pName]);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
Player[playerid][pID] = mysql_fetch_int();
mysql_free_result();
return Player[playerid][pID];
}
return false;
}

 

[14:50:01]

[14:50:01] ---------------------------

[14:50:01] MySQL Debugging activated (09/27/15)

[14:50:01] ---------------------------

[14:50:01]

[14:50:02] >> mysql_connect( )

[14:50:02] CMySQLHandler::CMySQLHandler() - constructor called.

[14:50:02] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "new_baza" | Username: "root" ...

[14:50:02] CMySQLHandler::Connect() - Connection was successful.

[14:50:02] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.

[14:50:02] >> mysql_ping( Connection handle: 1 )

[14:50:02] CMySQLHandler::Ping() - Connection is still alive.

[14:50:32] >> mysql_query( Connection handle: 1 )

[14:50:32] CMySQLHandler::Query(SELECT `ID` FROM `users` WHERE `Name` = '') - Successfully executed.

[14:50:32] >> mysql_store_result( Connection handle: 1 )

[14:50:32] CMySQLHandler::StoreResult() - Result was stored.

[14:50:32] >> mysql_num_rows( Connection handle: 1 )

[14:50:32] CMySQLHandler::NumRows() - Returned 0 row(s)

[14:50:49] >> mysql_ping( Connection handle: 1 )

[14:50:49] CMySQLHandler::Ping() - Connection is still alive.

[14:50:49] >> mysql_query( Connection handle: 1 )

[14:50:49] CMySQLHandler::Query(UPDATE `users` SET `Sex` ='1',`Age` ='20',`Skin` ='21',`CorX` ='0.000000',`CorY` ='0.000000',`CorZ` ='0.000000',`Level` ='0' WHERE `ID` = '0') - Successfully executed.

[14:50:49] >> mysql_query( Connection handle: 1 )

[14:50:49] CMySQLHandler::Query(UPDATE `users` SET `Money` ='0',`HP` ='0.000000',`DataTimes` ='',`City` ='Старый Оскол',`Drug` ='None',`MuteTime` ='0' WHERE `ID` = '0') - Successfully executed.

[14:50:49] >> mysql_query( Connection handle: 1 )

[14:50:49] CMySQLHandler::Query(UPDATE `users` SET `Leader` ='0',`Member` ='0',`Rank` ='0',`Cars` ='0',`Vip` ='0',`Administrator` ='0',`HouseEnter` ='0' WHERE `ID` = '0') - Successfully executed.

[14:50:49] >> mysql_store_result( Connection handle: 1 )

[14:50:49] CMySQLHandler::StoreResult() - No data to store.

[14:50:49] >> mysql_real_escape_string( Connection handle: 1 )

[14:50:49] CMySQLHandler::EscapeString(AnacondaZ); - Escaped 9 characters to AnacondaZ.

[14:50:49] >> mysql_real_escape_string( Connection handle: 1 )

[14:50:49] CMySQLHandler::EscapeString(909090); - Escaped 6 characters to 909090.

[14:50:49] >> mysql_query( Connection handle: 1 )

[14:50:49] CMySQLHandler::Query(INSERT INTO `users` (`Name`, `Key`) VALUE ('AnacondaZ', '909090')) - Successfully executed.

[14:50:49] >> mysql_insert_id( Connection handle: 1 )

[14:50:49] >> mysql_query( Connection handle: 1 )

[14:50:49] CMySQLHandler::Query(UPDATE `users` SET `Money` = '10000', `HP` = '0.000000', `Level` = '1' WHERE `ID` = '3') - Successfully executed.

[14:50:49] >> mysql_ping( Connection handle: 1 )

[14:50:49] CMySQLHandler::Ping() - Connection is still alive.

[14:50:50] >> mysql_query( Connection handle: 1 )

[14:50:50] CMySQLHandler::Query(UPDATE `users` SET `Sex` ='1',`Age` ='20',`Skin` ='21',`CorX` ='0.000000',`CorY` ='0.000000',`CorZ` ='0.000000',`Level` ='1' WHERE `ID` = '3') - Successfully executed.

[14:50:50] >> mysql_query( Connection handle: 1 )

[14:50:50] CMySQLHandler::Query(UPDATE `users` SET `Money` ='10000',`HP` ='0.000000',`DataTimes` ='',`City` ='Старый Оскол',`Drug` ='None',`MuteTime` ='0' WHERE `ID` = '3') - Successfully executed.

[14:50:50] >> mysql_query( Connection handle: 1 )

[14:50:50] CMySQLHandler::Query(UPDATE `users` SET `Leader` ='0',`Member` ='0',`Rank` ='0',`Cars` ='0',`Vip` ='0',`Administrator` ='0',`HouseEnter` ='0' WHERE `ID` = '3') - Successfully executed.

[14:50:50] >> mysql_store_result( Connection handle: 1 )

[14:50:50] CMySQLHandler::StoreResult() - No data to store.

[14:50:56] >> mysql_query( Connection handle: 1 )

[14:50:56] CMySQLHandler::Query(UPDATE `users` SET `DataTimes` = '27.9.2015', `MuteTime` = '0' WHERE `ID` = '3') - Successfully executed.

[14:50:56] >> mysql_ping( Connection handle: 1 )

[14:50:56] CMySQLHandler::Ping() - Connection is still alive.

[14:50:56] >> mysql_query( Connection handle: 1 )

[14:50:56] CMySQLHandler::Query(UPDATE `users` SET `Sex` ='1',`Age` ='20',`Skin` ='21',`CorX` ='2520.794189',`CorY` ='-2133.645751',`CorZ` ='21.964000',`Level` ='1' WHERE `ID` = '3') - Successfully executed.

[14:50:56] >> mysql_query( Connection handle: 1 )

[14:50:56] CMySQLHandler::Query(UPDATE `users` SET `Money` ='10000',`HP` ='100.000000',`DataTimes` ='27.9.2015',`City` ='Старый Оскол',`Drug` ='None',`MuteTime` ='0' WHERE `ID` = '3') - Successfully executed.

[14:50:56] >> mysql_query( Connection handle: 1 )

[14:50:56] CMySQLHandler::Query(UPDATE `users` SET `Leader` ='0',`Member` ='0',`Rank` ='0',`Cars` ='0',`Vip` ='0',`Administrator` ='0',`HouseEnter` ='0' WHERE `ID` = '3') - Successfully executed.

[14:50:56] >> mysql_store_result( Connection handle: 1 )

[14:50:57] CMySQLHandler::StoreResult() - No data to store.

[14:51:29] >> mysql_query( Connection handle: 1 )

[14:51:29] CMySQLHandler::Query(SELECT `ID` FROM `users` WHERE `Name` = '') - Successfully executed.

[14:51:29] >> mysql_store_result( Connection handle: 1 )

[14:51:29] CMySQLHandler::StoreResult() - Result was stored.

[14:51:29] >> mysql_num_rows( Connection handle: 1 )

[14:51:29] CMySQLHandler::NumRows() - Returned 0 row(s)

 

Изменено пользователем AnacondaZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

С именем проблемы у вас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

OnPlayerConnect скинь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

@Smolin,

Public: OnPlayerConnect(playerid)

{
    HidePM[playerid] = 0; Player[playerid][pID] = 0;
    HoldTime[playerid] = 0;
    SetPlayerColor(playerid, COLOR_GRAD1);
    new name[MAX_PLAYER_NAME], string[120];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "????? ????? ? ????, ??? ????? %s.", name);
SendAdminMessage(-1, string);
SendClientMessage(playerid,COLOR_GRAD1,"?????????... ???? ????????? ????? ??????.");
if(GetAccountID(playerid))//???? ???? ??????? ? ???? ??????...
{
       ДИАЛОГИ АВТОРИЗАЦИЙ
}
else
{
        ДИАЛОГИ РЕГИСТРАЦИЙ

Изменено пользователем AnacondaZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

@TrollFace,да, ну я не знаю почему. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

@AnacondaZ, вы в запросе юзаете массив pName

Хотя я не видел, чтобы была запись имени в него.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

@TrollFace,[14:50:49] CMySQLHandler::Query(INSERT INTO `users` (`Name`, `Key`) VALUE ('AnacondaZ', '909090')) - Successfully executed.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

Попробуй так...

GetAccountID(playerid);
SCM(playerid, -1, "debug: проверка на существование аккаунта");
if(PlayerInfo[playerid][pID] != 0)
{
 ДИАЛОГИ АВТОРИЗАЦИИ
}
else
{
ДИАЛОГИ РЕГИСТРАЦИИ
}
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

@Smolin,

Теперь когда пароль пишу пишет неверный, в mysql_log мне не нравится, вот это CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result) 

 

Изменил функцию GetAccountID

function GetAccountID(playerid)


{
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    format(Query, 1000,"SELECT * FROM `users` WHERE `Name` = '%s' LIMIT 1", playername);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() == 1)
    {
        Player[playerid][pID] = mysql_fetch_int();
        mysql_free_result();
        return Player[playerid][pID];
    }
    return false;
}

 

[13:03:13]  

[13:03:13] ---------------------------

[13:03:13] MySQL Debugging activated (09/28/15)

[13:03:13] ---------------------------

[13:03:13]  

[13:03:13] >> mysql_connect( )

[13:03:13] CMySQLHandler::CMySQLHandler() - constructor called.

[13:03:13] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "new_baza" | Username: "root" ...

[13:03:13] CMySQLHandler::Connect() - Connection was successful.

[13:03:13] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.

[13:03:13] >> mysql_set_charset( Connection handle: 1 )

[13:03:13] >> mysql_query( Connection handle: 1 )

[13:03:13] CMySQLHandler::Query(SET NAMES 'cp1251') - Successfully executed.

[13:03:13] >> mysql_query( Connection handle: 1 )

[13:03:13] CMySQLHandler::Query(SET CHARACTER SET 'cp1251') - Successfully executed.

[13:03:14] >> mysql_ping( Connection handle: 1 )

[13:03:14] CMySQLHandler::Ping() - Connection is still alive.

[13:03:26] >> mysql_query( Connection handle: 1 )

[13:03:26] CMySQLHandler::Query(SELECT * FROM `users` WHERE `Name` = 'AnacondaZ' LIMIT 1) - Successfully executed.

[13:03:26] >> mysql_store_result( Connection handle: 1 )

[13:03:26] CMySQLHandler::StoreResult() - Result was stored.

[13:03:26] >> mysql_num_rows( Connection handle: 1 )

[13:03:26] CMySQLHandler::NumRows() - Returned 1 row(s)

[13:03:26] >> mysql_fetch_int( Connection handle: 1 )

[13:03:26] CMySQLHandler::FetchRow() - Return: 1 AnacondaZ 123456 1 20 21 2516.39 -2126.42 22.5557 1 10000 100 28.9.2015 Старый Оскол None 0 0 0 0 0 0 0 0

[13:03:26] >> mysql_free_result( Connection handle: 1 )

[13:03:26] CMySQLHandler::FreeResult() - Result was successfully free'd.

[13:03:30] >> mysql_fetch_row_format( Connection handle: 1 )

[13:03:30] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)

[13:03:33] >> mysql_fetch_row_format( Connection handle: 1 )

[13:03:33] CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)

Изменено пользователем AnacondaZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

Решён! Все спасибо за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

@AnacondaZ, в чем же проблема заключалась?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
AnacondaZ

@Smolin,неправильно вызывал функций. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.