Need help Unknown SQL Error

hadiesyafiq

New member
Messages
160
Points
0
Age
35
Location
Malaysia
Github
hadiesyafiq
Emulator
hi all...

my map-server sometimes showing unknown SQL error...can someone help me how to fix this?

below is the picture of map-server ..

unknownerror.png

 
Hello,
Are you made a source modification?
This error should not occurs on fresh Hercules.

Can you provide more information about this?

 
Well please check your char,c at arount line 3943
You fill find this code

static void char_parse_frommap_scdata_update(int fd)
{
int account_id = RFIFOL(fd, 2);
int char_id = RFIFOL(fd, 6);
int val1 = RFIFOL(fd, 12);
int val2 = RFIFOL(fd, 16);
int val3 = RFIFOL(fd, 20);
int val4 = RFIFOL(fd, 24);
short type = RFIFOW(fd, 10);

if (SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s`"
" (`account_id`,`char_id`,`type`,`tick`,`total_tick`,`val1`,`val2`,`val3`,`val4`)"
" VALUES ('%d','%d','%d','%d','%d','%d','%d','%d','%d')",
scdata_db, account_id, char_id, type, INFINITE_DURATION, INFINITE_DURATION, val1, val2, val3, val4)
) {
Sql_ShowDebug(inter->sql_handle);
}
RFIFOSKIP(fd, 28);
}


check if this code is te same with your source, if your code is changed, please follow above code, and recompile.

Hope this helps!

 
Well please check your char,c at arount line 3943
You fill find this code

static void char_parse_frommap_scdata_update(int fd)
{
int account_id = RFIFOL(fd, 2);
int char_id = RFIFOL(fd, 6);
int val1 = RFIFOL(fd, 12);
int val2 = RFIFOL(fd, 16);
int val3 = RFIFOL(fd, 20);
int val4 = RFIFOL(fd, 24);
short type = RFIFOW(fd, 10);

if (SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s`"
" (`account_id`,`char_id`,`type`,`tick`,`total_tick`,`val1`,`val2`,`val3`,`val4`)"
" VALUES ('%d','%d','%d','%d','%d','%d','%d','%d','%d')",
scdata_db, account_id, char_id, type, INFINITE_DURATION, INFINITE_DURATION, val1, val2, val3, val4)
) {
Sql_ShowDebug(inter->sql_handle);
}
RFIFOSKIP(fd, 28);
}

static void char_parse_frommap_scdata_update(int fd)
{
int account_id = RFIFOL(fd, 2);
int char_id = RFIFOL(fd, 6);
int val1 = RFIFOL(fd, 12);
int val2 = RFIFOL(fd, 16);
int val3 = RFIFOL(fd, 20);
int val4 = RFIFOL(fd, 24);
short type = RFIFOW(fd, 10);

if (SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s`"
" (`account_id`,`char_id`,`type`,`tick`,`total_tick`,`val1`,`val2`,`val3`,`val4`)"
" VALUES ('%d','%d','%d','%d','%d','%d','%d','%d','%d')",
scdata_db, account_id, char_id, type, INFINITE_DURATION, INFINITE_DURATION, val1, val2, val3, val4)
) {
Sql_ShowDebug(inter->sql_handle);
}
RFIFOSKIP(fd, 28);
}


check if this code is te same with your source, if your code is changed, please follow above code, and recompile.

Hope this helps!
Thank you very much sir @SinjiPrasetio it work...it different from mine just INFINITE_DURATION...mine just single word...

 
Back
Top