Simis

Pagalbos dėl saugojimo.

Recommended Posts

Nesuprantu, kame problema, bet man kažkodėl neįrašo nieko į MySQL, nors seniau viskas veikė. Gal kažką padariau.. Turėtų įrašyti į mysql failą, ir po to jį užkrautį kai prisijungi, ir nors viskas veikia iš serverio pusės, bet kai užsiregini nesukuria žaidėjo failo ir kai prisijungi viską užkrauna su reikšme 0.

Saugojimo ir krovimo kodai:

stock load_player_data(playerid)
{
	new Query[100], printar[100], Float:Pos[3];
	format(Query,sizeof(Query),"SELECT * FROM `playerinfo` WHERE `name` = '%s'",PlayerName(playerid));
	mysql_query(Query);
	mysql_store_result();
	new datastr[20];
	if(mysql_num_rows() != 0)
	{
         mysql_fetch_field_row(datastr,"money"); GivePlayerMoney(playerid,strval(datastr));
         mysql_fetch_field_row(datastr,"score"); SetPlayerScore(playerid,strval(datastr));
         mysql_fetch_field_row(datastr,"admin"); PlayerInfo[playerid][admin] = strval(datastr);
         mysql_fetch_field_row(datastr,"adminlaikas"); PlayerInfo[playerid][adminlaikas] = strval(datastr);
         mysql_fetch_field_row(datastr,"vip"); PlayerInfo[playerid][vip] = strval(datastr);
         mysql_fetch_field_row(datastr,"viplaikas"); PlayerInfo[playerid][viplaikas] = strval(datastr);
         mysql_fetch_field_row(datastr,"PosY"); Pos[0] = floatstr(datastr);
         mysql_fetch_field_row(datastr,"PosX"); Pos[1] = floatstr(datastr);
         mysql_fetch_field_row(datastr,"PosZ"); Pos[2] = floatstr(datastr);
         SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
	}
	mysql_free_result();
	format(printar,sizeof(printar),"Kraunamas þaidëjas %s", PlayerName(playerid));
	print(printar);
	return 1;
}

stock save_player_data(playerid)
{
    new Query[100], printer[100], Float:Pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
	format(Query,sizeof(Query),"UPDATE `playerinfo` SET `money` = '%d', `score` = '%d', `admin` = '%d', `adminlaikas` = '%d', `vip` = '%d', `viplaikas` = '%d' WHERE `name` = '%s'",GetPlayerMoney(playerid),GetPlayerScore(playerid),PlayerInfo[playerid][admin],PlayerInfo[playerid][adminlaikas],PlayerInfo[playerid][vip],PlayerInfo[playerid][viplaikas],PlayerName(playerid));
	mysql_query(Query);
	format(Query,sizeof(Query),"UPDATE `playerinfo` SET `PosX` = '%f', `PosY` = '%f', `PosZ` = '%f' WHERE `name` = '%s'",Pos[0],Pos[1],Pos[2],PlayerName(playerid));
	format(printer,sizeof(printer),"Saugojamas þaidëjas %s", PlayerName(playerid));
	print(printer);
	return 1;
}

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Mysql debug ?

Kaip supratau šitas.

[20:05:36] ---------------------------

[20:05:36] MySQL Debugging activated (11/22/14)

[20:05:36] ---------------------------

[20:05:36]  

[20:05:36] >> mysql_connect( )

[20:05:36] CMySQLHandler::CMySQLHandler() - constructor called.

[20:05:36] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "mydb" | Username: "root" ...

[20:05:36] CMySQLHandler::Connect() - Connection was successful.

[20:05:36] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.

[20:05:36] >> mysql_ping( Connection handle: 1 )

[20:05:36] CMySQLHandler::Ping() - Connection is still alive.

[20:05:50] >> mysql_query( Connection handle: 1 )

[20:05:50] CMySQLHandler::Query(SELECT `name` FROM `playerinfo` WHERE `name` = 'Teddy_Wudson') - Successfully executed.

[20:05:50] >> mysql_store_result( Connection handle: 1 )

[20:05:50] CMySQLHandler::StoreResult() - Result was stored.

[20:05:50] >> mysql_num_rows( Connection handle: 1 )

[20:05:50] CMySQLHandler::NumRows() - Returned 0 row(s)

[20:05:50] >> mysql_free_result( Connection handle: 1 )

[20:05:50] CMySQLHandler::FreeResult() - Result was successfully free'd.

[20:05:53] >> mysql_query( Connection handle: 1 )

[20:05:53] CMySQLHandler::Query(INSERT INTO `playerinfo` (`name`, `password`,`score`, `money`, `admin`, `vip`) VALUES ('Teddy_Wudso) - An error has occured. (Error ID: 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 ''Teddy_Wudso' at line 1)

[20:06:38] >> mysql_query( Connection handle: 1 )

[20:06:38] CMySQLHandler::Query(UPDATE `playerinfo` SET `money` = '0', `score` = '0', `admin` = '0', `adminlaikas` = '0', `vip` = ') - An error has occured. (Error ID: 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 ''' at line 1)

[20:06:38] >> mysql_free_result( Connection handle: 1 )

[20:06:38] CMySQLHandler::FreeResult() - The result is already empty.

[20:08:42] >> mysql_close( Connection handle: 1 )

[20:08:42] CMySQLHandler::~CMySQLHandler() - deconstructor called.

[20:08:42] CMySQLHandler::FreeResult() - The result is already empty.

[20:08:42] CMySQLHandler::Disconnect() - Connection was closed.

[20:08:42] ---------------------------

[20:08:42] MySQL Debugging de-activated

[20:08:42] ---------------------------

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Per mažas. 

 

O dėl to INSERT klaidos, parodyk visą užklausą.

Ai dar šitas, kai turėtų sukūrti failą užsiregistravus.

new Query[100];
format(Query,sizeof(Query),"INSERT INTO `playerinfo` (`name`, `password`,`score`, `money`, `admin`, `vip`) VALUES ('%s','%s', 0, 0, 0, 0,",PlayerName(playerid),inputtext);
		mysql_query(Query);

P.S. still nesukuria vartotojo duomenų bazėje.

Redaguota , nario Saimon*

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį


new Query[150];

format(Query,sizeof(Query),"INSERT INTO `playerinfo` (`name`, `password`,`score`, `money`, `admin`, `vip`) VALUES ('%s','%s', 0, 0, 0, 0)",PlayerName(playerid),inputtext);

mysql_query(Query);

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
new Query[150];
format(Query,sizeof(Query),"INSERT INTO `playerinfo` (`name`, `password`,`score`, `money`, `admin`, `vip`) VALUES ('%s','%s', 0, 0, 0, 0)",PlayerName(playerid),inputtext);
mysql_query(Query);

Va ką meta dabar

[11:31:10] CMySQLHandler::Query(INSERT INTO `playerinfo` (`name`, `password`) VALUES ('dzuh','1')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'score') 

Gal čia problema lentelės struktūroje?

http://puu.sh/d25Tx/56f80e745f.png

:

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
new Query[70];
format(Query,sizeof(Query),"INSERT INTO `playerinfo` (`name`, `password`) VALUES ('%s','%s')",PlayerName(playerid),inputtext);
mysql_query(Query);

Still same.. 

CMySQLHandler::Query(INSERT INTO `playerinfo` (`name`, `password`) VALUES ('*Myliu SuperGames.lt*','1')) - An error has occured. (Error ID: 1062, Duplicate entry '0' for key 'score')

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.


  • Šiame puslapyje naršo:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.


  • SuperGames programele
  • SuperGames programele