MySQL accounts saving errors. -
SpikeSpigel - 29.10.2015
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] [DEBUG] CMySQLQuery::Execute[OnAccountRegister] - starting query execution
[21:16:54] [ERROR] CMySQLQuery::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] [DEBUG] CMySQLQuery::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(playerid, false);
SetSpawnInfo(playerid, 0, 23, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
return 1;
}
Re: MySQL accounts saving errors. -
iKarim - 29.10.2015
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.
Re: MySQL accounts saving errors. -
SpikeSpigel - 29.10.2015
Код:
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;
}
Re: MySQL accounts saving errors. -
iKarim - 29.10.2015
Replace
PHP код:
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);
with
PHP код:
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);
You had a ',' near ')' in your MySQL query, It caused the error.
Re: MySQL accounts saving errors. -
SpikeSpigel - 29.10.2015
Still not working, fuck this plugin, it fucking worked 2-3 hours ago -.-
Re: MySQL accounts saving errors. -
iKarim - 29.10.2015
Hmm, Just gimme the log, and the register dialog again sorry for that.
Re: MySQL accounts saving errors. -
SpikeSpigel - 29.10.2015
Код:
[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;
}
Re: MySQL accounts saving errors. -
iKarim - 29.10.2015
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(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);
}
You forgot to execute the query after formatting it...
Re: MySQL accounts saving errors. -
SpikeSpigel - 29.10.2015
It works, I think its from the time I tried to add something with the skins, thank u so much . rep