MySQL loads from the wrong column
#1

My mysql database looks like this: userid|username|password|alevel|items|Money|level| Job|Mechanic|SkinID|Mseeds|Marijuana|Police

My enum:
pawn Код:
enum pInfo
{
    userid,
    username[128],
    pPass[128],
    alevel,
    items[128],
    money,
    level,
    job,
    Mechanic,
    SkinID,
    Mseeds,
    Marijuana,
    Police
}
And OnPlayerSpawn:
pawn Код:
new moneyquery[512];
    format(moneyquery,sizeof(moneyquery),"SELECT * FROM `users` WHERE `username` = '%s'",Name);
    mysql_query(moneyquery);
    mysql_store_result();
    mysql_fetch_row_format(moneyquery,"|");
    sscanf(moneyquery,"e<p<|>ds[128]s[128]ds[128]dddddddd>",PlayerInfo[playerid]);
    mysql_free_result();
    SetPlayerSkin(playerid,PlayerInfo[playerid][SkinID]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
    return 1;
I checked the order like 10 times and still...skin gets loaded from the Mseeds column,can you guys spot the problem?
Reply
#2

I also noticed that the game crashes on first attempt to spawn
pawn Код:
SA-MP 0.3x-R1-2
Exception At Address: 0x004CE149
Base: 0x03DD0000

Registers:
EAX: 0x00000003 EBX: 0x00000001 ECX: 0x77674B84 EDX: 0x0FB13244
ESI: 0x0B68C4E0 EDI: 0x00B32574 EBP: 0x0028F820 ESP: 0x0028F7D4
EFLAGS: 0x00210202

Stack:
+0000: 0x0028F968   0x0083BCAB   0xFFFFFFFF   0x004D3ABC
+0010: 0x00000003   0x00B32574   0x0B68C4E0   0x005E49A0
+0020: 0x0FA1F1B0   0x11FC4E10   0x00000003   0x000001F4
+0030: 0x0B68C4E0   0x03E3277B   0x00003D42   0x000001F4
+0040: 0x018D63B0   0x0B68C4E0   0x0B68C4E0   0x0028F83C
+0050: 0x03E40DB7   0x000001F4   0x0C3E1230   0x0C3BB910
+0060: 0x018D4B01   0x0B68C4E0   0x0028FA64   0x040574C4
+0070: 0x000001F4   0x0028F97C   0x000001F4   0x00000000
+0080: 0x00000048   0x00000048   0x00000040   0x0028F97C
+0090: 0x0028F900   0x053FAB00   0x00000004   0x000005FE
+00A0: 0x00000000   0x00000052   0x00001F56   0x00000050
+00B0: 0x00000000   0x04E5C274   0x00000002   0x00000000
+00C0: 0x00000050   0x00000052   0x00C4D958   0x00000010
+00D0: 0x06995EAC   0x00000004   0x00000000   0x00805769
+00E0: 0x04E5DC48   0x00C9BC50   0x00000052   0x01654ABC
+00F0: 0x007EF657   0x04E5C274   0x01654ABC   0x00000000
+0100: 0x00000052   0x00000000   0x006C6293   0x006C62AD
+0110: 0x00000052   0x00000052   0x006C62B5   0x0F6C85B4
+0120: 0x00A95094   0x0000021C   0x00C4E4F8   0xC1F7AF37
+0130: 0x3FF1A19A   0x00000000   0x3F25F734   0x412A20CD
+0140: 0x00000000   0x00000000   0x3DCCCCCD   0x3F77A3AF
+0150: 0xBD719680   0xBE7C6F8F   0x3F6E79F6   0x3E7BF804
+0160: 0xBC740004   0x3F781984   0xC1A9166B   0xBEA67EE8
+0170: 0xBF7205C4   0x0028F994   0x0028FA64   0x0028FAAC
+0180: 0x0028FAAC   0x03DE99D1   0x0C3E1230   0x0028FA64
+0190: 0x018D4B01   0x0028FAC0   0x04014DC3   0x00000000
+01A0: 0x03E05030   0x0028FAA8   0x00000000   0x000001F4
+01B0: 0x03E04FE9   0x0C387C42   0x0C387C40   0x00000000
+01C0: 0x00000060   0x00000060   0x0000005C   0x018D4B58
+01D0: 0xBBF5CF00   0x3EF8196C   0x4343CD51   0x44E22C42
+01E0: 0x41A87BC9   0x3E7BF7C6   0xBC75CF83   0x3F78196C
+01F0: 0xB1B6CFCF   0xB3BB6417   0x13B7DCA0   0xB3EFF0C0
+0200: 0xB5F5F35E   0x0028FA18   0x00000000   0x00000000
+0210: 0x3F800000   0x00000000   0x00000004   0x00000065
+0220: 0x00000000   0x00000000   0x00000000   0x00000000
+0230: 0x432A0066   0x44E25E99   0x41807BC9   0x4344579F
+0240: 0x44E347CE   0x41807BC9   0xB236CFCF   0x05DFC700
+0250: 0x0028FAF4   0x608B6587   0x00000001   0x00000000
+0260: 0x018D0000   0x0C387C60   0x05F23880   0x0000000C
+0270: 0x0046000B   0x0000003C   0x0028FB1C   0x608B6587

SCM Op: 0x248, lDbg: 0 LastRendObj: 0

Game Version: US 1.0

State Information: Ped Context: 0
And this is my MysQL log
pawn Код:
[20:11:30] CMySQLHandler::Query(SELECT * FROM `users` WHERE `username` = 'Enrico_Mancini') - Successfully executed.

[20:11:30] >> mysql_store_result( Connection handle: 1 )

[20:11:30] CMySQLHandler::StoreResult() - Result was stored.

[20:11:30] >> mysql_fetch_row_format( Connection handle: 1 )

[20:11:30] CMySQLHandler::FetchRow() - Return: 14|Enrico_Mancini|7f94745661cfc025f2fa0c77c97406a5|1|ds|10500|6|1|299|500|5|2|500

[20:11:30] >> mysql_free_result( Connection handle: 1 )

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

[20:12:03] >> mysql_query( Connection handle: 1 )

[20:12:03] CMySQLHandler::Query(UPDATE users SET alevel = '
1', Items = 'ds', Money = '10500', level = '6', Job = '1', Mechanic = '299', SkinID = '500', Mseeds = '5', Marijuana = '2',Police = '500' WHERE username = 'Enrico_Mancini') - Successfully executed.
Reply
#3

Must be something in the DB you're forgetting to include in the sscanf line.
Reply
#4

Theres nothing. I checked in many times... And still, i dont see a mismatch
Reply
#5

pawn Код:
sscanf(moneyquery,"p<|>e<ds[128]s[128]ds[128]dddddddd>",PlayerInfo[playerid]);
Reply
#6

What about it adytza? If thats a fix,it doesn't work
Reply
#7

pawn Код:
new moneyquery[512];
    format(moneyquery,sizeof(moneyquery),"SELECT * FROM `users` WHERE `username` = '%s'",Name);
    mysql_query(moneyquery);
    mysql_store_result();
    sscanf(moneyquery,"p<|>e<ds[128]s[128]ds[128]dddddddd>",PlayerInfo);
    mysql_free_result();
    SetPlayerSkin(playerid,PlayerInfo[playerid][SkinID]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
    return 1;
Reply
#8

Why not make different ROWS for every variable?
Reply
#9

Michael, that just made it not load anything at all
Reply
#10

Quote:
Originally Posted by Michael@Belgium
Посмотреть сообщение
pawn Код:
new moneyquery[512];
    format(moneyquery,sizeof(moneyquery),"SELECT * FROM `users` WHERE `username` = '%s'",Name);
    mysql_query(moneyquery);
    mysql_store_result();
    sscanf(moneyquery,"p<|>e<ds[128]s[128]ds[128]dddddddd>",PlayerInfo);
    mysql_free_result();
    SetPlayerSkin(playerid,PlayerInfo[playerid][SkinID]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
    return 1;
Quote:
Originally Posted by dusk
Посмотреть сообщение
Michael, that just made it not load anything at all
Oh woops, my mistake:
pawn Код:
new moneyquery[512];
    format(moneyquery,sizeof(moneyquery),"SELECT * FROM `users` WHERE `username` = '%s'",Name);
    mysql_query(moneyquery);
    mysql_store_result();
    sscanf(moneyquery,"p<|>e<ds[128]s[128]ds[128]dddddddd>",PlayerInfo);
    SetPlayerSkin(playerid,PlayerInfo[playerid][SkinID]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
    mysql_free_result();
    return 1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)