Help dont save MYSQL problem
#1

Whats worng here?

MYSQL log
Код:
[11:12:32] [DEBUG] mysql_format - connection: 1, len: 2500, format: "UPDATE `accounts` SET `Username` = '%s', `IP` = '%s', `scorelevel` = '%d', `maconha` = '%d', `material` = '%d', `sementes` = '%d..."
[11:12:32] [ERROR] mysql_format - no value for specifier "%d" available
[11:12:32] [ERROR] mysql_format - no value for specifier "%s" available
[11:12:32] [DEBUG] mysql_pquery - connection: 1, query: "UPDATE `accounts` SET `Username` = 'maikons', `IP` = '255.255.255.", callback: "(null)", format: "(null)"
[11:12:32] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[11:12:32] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 2.485 milliseconds
[11:12:32] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
Code
Код:
stock OnPlayerSave(playerid) {
    new query[2500], ip[25];
    GetPlayerIp(playerid, ip, sizeof(ip));
    money[playerid] = GetPlayerMoneyEx(playerid);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `Username` = '%s', `IP` = '%s', `scorelevel` = '%d', `maconha` = '%d', `material` = '%d', `sementes` = '%d', `BPsize` = '%d', `lastlogin` = '%d', `wanted` = '%d', `moneybag` = '%d', `COPskills` = '%d', `CRIMINALskills` = '%d', `PARAMEDICskills` = '%d', `admin` = '%d', `money` = '%d', `bank` = '%d', `kills` = '%d', `deaths` = '%d' WHERE `Username` = '%s' ",
    GetName(playerid),
    ip,
    scorelevel[playerid],
    maconha[playerid],
    material[playerid],
    sementes[playerid],
    BPsize[playerid],
    lastlogin[playerid],
    wanted[playerid],
    moneybag[playerid],
    COPskills[playerid],
    CRIMINALskills[playerid],
    PARAMEDICskills[playerid],
    admin[playerid],
    money[playerid],
    bank[playerid],
    GetName(playerid));
    printf("Salvou! 1");
    mysql_pquery(ConnectMYSQL, query);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `kills` = '%d', `deaths` = '%d', `pistolSPAWN` = '%d', `shotgunSPAWN` = '%d', `submachineSPAWN` = '%d', `assaultSPAWN` = '%d', `sniperSPAWN` = '%d', `meleeSPAWN` = '%d', `carmtrunktype4` = '%d', `carmtrunktype5` = '%d' WHERE `Username` = '%s'",
    kills[playerid],
    deaths[playerid],
    pistolSPAWN[playerid],
    shotgunSPAWN[playerid],
    submachineSPAWN[playerid],
    assaultSPAWN[playerid],
    sniperSPAWN[playerid],
    meleeSPAWN[playerid],
    MalaInfo[carid[playerid]][type4],
    MalaInfo[carid[playerid]][type5],
    GetName(playerid));
    printf("Salvou! 2");
    mysql_pquery(ConnectMYSQL, query);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `DP` = '%d', `VIP` = '%d', `fmembro` = '%d', `preso` = '%d', `presotime` = '%d', `startVIPdia` = '%d', `startVIPmes` = '%d', `startVIPano` = '%d', `carid` = '%d', `carpos0` = '%f', `carpos1` = '%f', `carpos2` = '%f', `carpos3` = '%f' WHERE Username = '%s'",
    DP[playerid],
    VIP[playerid],
    fmembro[playerid],
    preso[playerid],
    presotime[playerid],
    startVIPdia[playerid],
    startVIPmes[playerid],
    startVIPano[playerid],
    carid[playerid],
    carpos[playerid][0],
    carpos[playerid][1],
    carpos[playerid][2],
    carpos[playerid][3],
    GetName(playerid));
    printf("Salvou! 3");
    mysql_pquery(ConnectMYSQL, query);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `carmtrunkarma1` = '%d', `carmtrunkarma2` = '%d', `carmtrunkarma3` = '%d', `carmtrunkarma4` = '%d', `carmtrunkarma5` = '%d', `carmtrunkbalas1` = '%d', `carmtrunkbalas2` = '%d', `carmtrunkbalas3` = '%d', `carmtrunkbalas4` = '%d', `carmtrunkbalas5` = '%d', `carmtrunktype1` = '%d', `carmtrunktype2` = '%d', `carmtrunktype3` = '%d' WHERE Username = '%s'",
    MalaInfo[carid[playerid]][arma1],
    MalaInfo[carid[playerid]][arma2],
    MalaInfo[carid[playerid]][arma3],
    MalaInfo[carid[playerid]][arma4],
    MalaInfo[carid[playerid]][arma5],
    MalaInfo[carid[playerid]][balas1],
    MalaInfo[carid[playerid]][balas2],
    MalaInfo[carid[playerid]][balas3],
    MalaInfo[carid[playerid]][balas4],
    MalaInfo[carid[playerid]][balas5],
    MalaInfo[carid[playerid]][type1],
    MalaInfo[carid[playerid]][type2],
    MalaInfo[carid[playerid]][type3],
    GetName(playerid));
    printf("Salvou! 4");
    mysql_pquery(ConnectMYSQL, query);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `spawnpoint` = '%d', `housekey` = '%d', `idiom` = '%d', `tutorial` = '%d', `banned` = '%d', `expirarban` = '%d', `morto` = '%d', `mortotime` = '%d' WHERE Username = '%s'",
    spawnpoint[playerid],
    housekey[playerid],
    idiom[playerid],
    tutorial[playerid],
    banned[playerid],
    expirarban[playerid],
    morto[playerid],
    mortotime[playerid],
    GetName(playerid));
    printf("Salvou! 5");
    mysql_pquery(ConnectMYSQL, query);
}
Reply
#2

You're missing kills and deaths in the first query, but since you're updating that in the second query You should remove it from the first.

You should rethink your database schema. MySQL is a relational database management system. If you're cramming everything into one table, there is no relation. My advice, separate it into multiple tables.
Reply
#3

why? and why?

u know how to fix? cause just printf("Salvou! 1"); is working

i have others tables, but this is players table... maybe when i finish all i will make others tables, but now i just need this
Reply
#4

Код:
stock OnPlayerSave(playerid) {
    new query[2500], ip[25];
    GetPlayerIp(playerid, ip, sizeof(ip));
    money[playerid] = GetPlayerMoneyEx(playerid);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `Username` = '%s', `IP` = '%s', `scorelevel` = '%d', `maconha` = '%d', `material` = '%d', `sementes` = '%d', `BPsize` = '%d', `lastlogin` = '%d', `wanted` = '%d', `moneybag` = '%d', `COPskills` = '%d', `CRIMINALskills` = '%d', `PARAMEDICskills` = '%d', `admin` = '%d', `money` = '%d', `bank` = '%d', `kills` = '%d', `deaths` = '%d' WHERE `Username` = '%s' ",
    GetName(playerid),
    ip,
    scorelevel[playerid],
    maconha[playerid],
    material[playerid],
    sementes[playerid],
    BPsize[playerid],
    lastlogin[playerid],
    wanted[playerid],
    moneybag[playerid],
    COPskills[playerid],
    CRIMINALskills[playerid],
    PARAMEDICskills[playerid],
    admin[playerid],
    money[playerid],
    bank[playerid],
You're missing 
    kills[playerid],
    deaths[playerid],
    GetName(playerid));
    printf("Salvou! 1");
    mysql_pquery(ConnectMYSQL, query);

BUT you are updating kills and deaths in the query bellow, so just remove `kills` = '%d', `deaths` = '%d' from the first query 

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `kills` = '%d', `deaths` = '%d', `pistolSPAWN` = '%d', `shotgunSPAWN` = '%d', `submachineSPAWN` = '%d', `assaultSPAWN` = '%d', `sniperSPAWN` = '%d', `meleeSPAWN` = '%d', `carmtrunktype4` = '%d', `carmtrunktype5` = '%d' WHERE `Username` = '%s'",
    kills[playerid],
    deaths[playerid],
    pistolSPAWN[playerid],
    shotgunSPAWN[playerid],
    submachineSPAWN[playerid],
    assaultSPAWN[playerid],
    sniperSPAWN[playerid],
    meleeSPAWN[playerid],
    MalaInfo[carid[playerid]][type4],
    MalaInfo[carid[playerid]][type5],
    GetName(playerid));
    printf("Salvou! 2");
    mysql_pquery(ConnectMYSQL, query);
Reply
#5

Quote:
Originally Posted by Antonio144
Посмотреть сообщение
Код:
stock OnPlayerSave(playerid) {
    new query[2500], ip[25];
    GetPlayerIp(playerid, ip, sizeof(ip));
    money[playerid] = GetPlayerMoneyEx(playerid);

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `Username` = '%s', `IP` = '%s', `scorelevel` = '%d', `maconha` = '%d', `material` = '%d', `sementes` = '%d', `BPsize` = '%d', `lastlogin` = '%d', `wanted` = '%d', `moneybag` = '%d', `COPskills` = '%d', `CRIMINALskills` = '%d', `PARAMEDICskills` = '%d', `admin` = '%d', `money` = '%d', `bank` = '%d', `kills` = '%d', `deaths` = '%d' WHERE `Username` = '%s' ",
    GetName(playerid),
    ip,
    scorelevel[playerid],
    maconha[playerid],
    material[playerid],
    sementes[playerid],
    BPsize[playerid],
    lastlogin[playerid],
    wanted[playerid],
    moneybag[playerid],
    COPskills[playerid],
    CRIMINALskills[playerid],
    PARAMEDICskills[playerid],
    admin[playerid],
    money[playerid],
    bank[playerid],
You're missing 
    kills[playerid],
    deaths[playerid],
    GetName(playerid));
    printf("Salvou! 1");
    mysql_pquery(ConnectMYSQL, query);

BUT you are updating kills and deaths in the query bellow, so just remove `kills` = '%d', `deaths` = '%d' from the first query 

    mysql_format(ConnectMYSQL, query, sizeof(query), "UPDATE `accounts` SET `kills` = '%d', `deaths` = '%d', `pistolSPAWN` = '%d', `shotgunSPAWN` = '%d', `submachineSPAWN` = '%d', `assaultSPAWN` = '%d', `sniperSPAWN` = '%d', `meleeSPAWN` = '%d', `carmtrunktype4` = '%d', `carmtrunktype5` = '%d' WHERE `Username` = '%s'",
    kills[playerid],
    deaths[playerid],
    pistolSPAWN[playerid],
    shotgunSPAWN[playerid],
    submachineSPAWN[playerid],
    assaultSPAWN[playerid],
    sniperSPAWN[playerid],
    meleeSPAWN[playerid],
    MalaInfo[carid[playerid]][type4],
    MalaInfo[carid[playerid]][type5],
    GetName(playerid));
    printf("Salvou! 2");
    mysql_pquery(ConnectMYSQL, query);
Ty so much! +rep!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)