SA-MP Forums Archive
Help dont save MYSQL problem - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Help dont save MYSQL problem (/showthread.php?tid=595200)



Help dont save MYSQL problem - maikons - 29.11.2015

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);
}



Re: Help dont save MYSQL problem - Antonio144 - 29.11.2015

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.


Re: Help dont save MYSQL problem - maikons - 29.11.2015

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


Re: Help dont save MYSQL problem - Antonio144 - 29.11.2015

Код:
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);



Re: Help dont save MYSQL problem - maikons - 29.11.2015

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!