MySQL accounts saving errors.
#1

Well, today I started to make my new gamemode and made a database, after I've got it to work and deleted all the accounts on it I was trying to join and register a new accounts, it isn't working -.- I put the password and nothing happens.

this is the MySQL log

PHP код:
[21:16:54] [DEBUGCMySQLQuery::Execute[OnAccountRegister] - starting query execution
[21:16:54] [ERRORCMySQLQuery::Execute[OnAccountRegister] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
[21:16:54] [DEBUGCMySQLQuery::Execute[OnAccountRegister] - error will be triggered in OnQueryError 
And this is onaccoutnregister

PHP код:
forward OnAccountRegister(playerid);
public 
OnAccountRegister(playerid)
{
    
Player[playerid][ID] = cache_insert_id();
    
printf("[Registration] New account registered. Database ID: [%d]"Player[playerid][ID]);
    
TogglePlayerSpectating(playeridfalse);
    
SetSpawnInfo(playerid023SPAWN_XSPAWN_YSPAWN_ZSPAWN_A000000);
    
SpawnPlayer(playerid);
    return 
1;

Reply
#2

Wheres your Register Query? I wont guess it and fix it for you.
OnPlayerRegister got nothing wrong, Its on your query, Get us your mysql_fquery(); in the dialog parts.
Reply
#3

Код:
        case RegisterDialog:
        {
            if(!response) return Kick(playerid);
            if(strlen(inputtext) < 5)
            {
                SendClientMessage(playerid, -1, "Parola nu poate sa aiba mai putin de 4 caractere.");
                return ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_PASSWORD, "Register", "Bine ai venit!!\nAcesta este un cont nou, te rugam sa te inregistrezi cu o parola !", "Register", "Exit");
            }
            new
                query[512],
                playername[MAX_PLAYER_NAME],
                playerip[16];


            GetPlayerName(playerid, playername, sizeof(playername));
            GetPlayerIp(playerid, playerip, sizeof(playerip));
            WP_Hash(Player[playerid][Password], 129, inputtext);
            mysql_format(1, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f,)", playername, Player[playerid][Password], playerip, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A);
            mysql_tquery(1, query, "OnAccountRegister", "i", playerid);
        }
    }
    return 0;
}
Reply
#4

Replace
PHP код:
mysql_format(1querysizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f,)"playernamePlayer[playerid][Password], playeripSPAWN_XSPAWN_YSPAWN_ZSPAWN_A); 
with
PHP код:
mysql_format(1querysizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f)"playernamePlayer[playerid][Password], playeripSPAWN_XSPAWN_YSPAWN_ZSPAWN_A); 
You had a ',' near ')' in your MySQL query, It caused the error.
Reply
#5

Still not working, fuck this plugin, it fucking worked 2-3 hours ago -.-
Reply
#6

Hmm, Just gimme the log, and the register dialog again sorry for that.
Reply
#7

Код:
[21:57:39] [DEBUG] mysql_connect - host: "localhost", user: "root", database: "dragoste", password: "****", port: 3306, autoreconnect: true, pool_size: 2
[21:57:39] [DEBUG] CMySQLHandle::Create - creating new connection..
[21:57:39] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
[21:57:39] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
[21:57:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[21:57:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[21:57:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[21:57:39] [DEBUG] mysql_errno - connection: 1
[21:57:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[21:57:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[21:57:39] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[21:57:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[21:57:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[21:57:39] [DEBUG] CMySQLConnection::Connect - connection was successful
[21:57:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[21:57:39] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[21:58:01] [DEBUG] mysql_format - connection: 1, len: 128, format: "SELECT `Password`, `ID` FROM `accounts` WHERE `Name` = '%e'"
[21:58:01] [DEBUG] mysql_tquery - connection: 1, query: "SELECT `Password`, `ID` FROM `accounts` WHERE `Name` = 'SpikeSpi", callback: "OnAccountCheck", format: "i"
[21:58:01] [DEBUG] CMySQLQuery::Execute[OnAccountCheck] - starting query execution
[21:58:01] [DEBUG] CMySQLQuery::Execute[OnAccountCheck] - query was successfully executed within 2.269 milliseconds
[21:58:01] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[21:58:01] [DEBUG] Calling callback "OnAccountCheck"..
[21:58:01] [DEBUG] cache_get_data - connection: 0
[21:58:01] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[21:58:07] [DEBUG] mysql_format - connection: 1, len: 512, format: "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e'..."
[21:58:18] [DEBUG] mysql_format - connection: 1, len: 128, format: "UPDATE `accounts` SET `Money` = %d, `PosX` = %f, `PosY` = %f, `PosZ` = %f, `PosA` = %f WHERE `ID` = %d"
[21:58:18] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `accounts` SET `Money` = 0, `PosX` = 132.0, `PosY` = -67.", callback: "(null)", format: "(null)"
[21:58:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[21:58:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.945 milliseconds
[21:58:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
- MySQL Log

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case LoginDialog:
        {
            if(!response) Kick(playerid);

            new
                hashpass[129],
                query[100],
                playername[MAX_PLAYER_NAME];

            GetPlayerName(playerid, playername, sizeof(playername));
            WP_Hash(hashpass, sizeof(hashpass), inputtext);
            if(!strcmp(hashpass, Player[playerid][Password]))
            {
                mysql_format(1, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%e' LIMIT 1", playername);
                mysql_tquery(1, query, "OnAccountLoad", "i", playerid);
            }
            else
            {
                SendClientMessage(playerid, color_lightred, "Aceasta nu este parola ta !");
                ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_PASSWORD, "Login", "Bine ai venit!\nTe rugam sa-ti introduci parola !", "Login", "Exit");
            }
        }
        case RegisterDialog:
        {
            if(!response) return Kick(playerid);
            if(strlen(inputtext) < 5)
            {
                SendClientMessage(playerid, -1, "Parola nu poate sa aiba mai putin de 4 caractere.");
                return ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_PASSWORD, "Register", "Bine ai venit!!\nAcesta este un cont nou, te rugam sa te inregistrezi cu o parola !", "Register", "Exit");
            }
            new query[512], playername[MAX_PLAYER_NAME], playerip[16];


            GetPlayerName(playerid, playername, sizeof(playername));
            GetPlayerIp(playerid, playerip, sizeof(playerip));
            WP_Hash(Player[playerid][Password], 129, inputtext);
            mysql_format(1, query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f)", playername, Player[playerid][Password], playerip, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A);
        }
    }
    return 0;
}
Reply
#8

PHP код:
        case RegisterDialog:
        {
            if(!
response) return Kick(playerid);
            if(
strlen(inputtext) < 5)
            {
                
SendClientMessage(playerid, -1"Parola nu poate sa aiba mai putin de 4 caractere.");
                return 
ShowPlayerDialog(playeridRegisterDialogDIALOG_STYLE_PASSWORD"Register""Bine ai venit!!\nAcesta este un cont nou, te rugam sa te inregistrezi cu o parola !""Register""Exit");
            }
            new 
query[512], playername[MAX_PLAYER_NAME], playerip[16];
            
GetPlayerName(playeridplayernamesizeof(playername));
            
GetPlayerIp(playeridplayeripsizeof(playerip));
            
WP_Hash(Player[playerid][Password], 129inputtext);
            
mysql_format(1querysizeof(query), "INSERT INTO `accounts` (`Name`, `Password`, `IP`, `Admin`, `Tester`, `Money`, `PosX`, `PosY`, `PosZ`, `PosA`) VALUES ('%e', '%e', '%e', 0, 0, 0, %f, %f, %f, %f)"playernamePlayer[playerid][Password], playeripSPAWN_XSPAWN_YSPAWN_ZSPAWN_A);
            
mysql_tquery(1query"OnAccountRegister""i"playerid);
        } 
You forgot to execute the query after formatting it...
Reply
#9

It works, I think its from the time I tried to add something with the skins, thank u so much . rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)