Šventasis Vyskupas

Pagalbos su MySQL saugojimu (sa-mp)

Recommended Posts

Vienu žodžiu iškart einu prie reikalo. Bandau daryti bankų/verslų sistemą (nekritikuokite ne tai svarbiausia). Ir šiuo metu mano mysql bazėje yra 2bankai, kuriuos man reikia užkrauti bei išsaugoti, bet kurdamas užkrovimo stock'ą sugebu išmastyti kaip užkrauti tik vieną banką, tad man reikia užkrauti kelių bankų informaciją :D 

Štai kodas:

stock KraunamBankus()
{
	new Query[128];

	mysql_query("SELECT * FROM `bankai`");
	mysql_store_result();
    mysql_retrive_row();

    mysql_fetch_field_row(Query, "savininkas");          banksavininkas = strval(Query);
    mysql_fetch_field_row(Query, "mokestis");            bankmokestis = strval(Query);
    mysql_fetch_field_row(Query, "maxpervedimas");       bankmaxpervedimas = strval(Query);
    mysql_fetch_field_row(Query, "pelnas");              bankpelnas = strval(Query);
    mysql_fetch_field_row(Query, "balansas");            bankbalansas = strval(Query);


    mysql_free_result();

    return 1;
}

 

Nuotrauka iš mysql:

image.png.c680950ca26a116549bd842b88e8381a.png

 

Ačiū iš anksto už pagalbą!

Dalintis šį pranešimą


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

Su mysql_retrieve_row() tu paimi eilutę, o po to jau su ja dirbi, tai kad pereitum visas eilutes:

while(mysql_retrieve_row()){
	mysql_fetch_field_row...
}
                                    

Ciklas suksis, kol bus eilučių.

Jei reikia dirbti su masyvais:

for(new i=0;i<mysql_num_rows();i++)
{
  mysql_retrieve_row();
  mysql_fetch_field_row(...);        
}

Tada i gali naudoti, kaip masyvo indeksą.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
Prieš 1 valandą, d0Nt parašė:

Su mysql_retrieve_row() tu paimi eilutę, o po to jau su ja dirbi, tai kad pereitum visas eilutes:

while(mysql_retrieve_row()){
	mysql_fetch_field_row...
}
                                    

Ciklas suksis, kol bus eilučių.

Jei reikia dirbti su masyvais:

for(new i=0;i<mysql_num_rows();i++)
{
  mysql_retrieve_row();
  mysql_fetch_field_row(...);        
}

Tada i gali naudoti, kaip masyvo indeksą.

kodą padariau taip: 

stock KraunamBankus()
{
	new Query[128];

	mysql_query("SELECT * FROM `bankai`");
	mysql_store_result();
	while(mysql_retrieve_row()){
   
    mysql_fetch_field_row(Query, "savininkas");          banksavininkas = strval(Query);
    mysql_fetch_field_row(Query, "mokestis");            bankmokestis = strval(Query);
    mysql_fetch_field_row(Query, "maxpervedimas");       bankmaxpervedimas = strval(Query);
    mysql_fetch_field_row(Query, "pelnas");              bankpelnas = strval(Query);
    mysql_fetch_field_row(Query, "balansas");            bankbalansas = strval(Query);

    }


    mysql_free_result();

    return 1;
}

bet dabar meta šias klaidas:

(1627) : error 022: must be lvalue (non-constant)
(1628) : error 022: must be lvalue (non-constant)
(1629) : error 022: must be lvalue (non-constant)
(1630) : error 022: must be lvalue (non-constant)
(1631) : error 022: must be lvalue (non-constant)
(1833) : warning 213: tag mismatch
(1838) : warning 217: loose indentation

 

Dalintis šį pranešimą


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

Tikriausiai blogai deklaruoji kintamuosius, prie jų pridėdamas const, kas reiškia, kad juos galima tik nustatyti, bet ne pakeisti vėliau. Taip pat, toks užkrovimas neveiks. Turi bankams sukurti masyvą, į kurį ir užkrausi reikšmes iš duomenų bazės.

Dalintis šį pranešimą


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

@Šventasis Vyskupas susikurk multi-dimensinį masyvą, taip galėsi atskirti bankus. https://forum.sa-mp.com/showthread.php?t=318212

https://pastebin.com/tWvHnU38

Po while { pamiršau pridėti: 

mysql_retrieve_row();

Tai pridėk ten.

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ą.

  • eneba
  • eneba
  • eneba



  • SuperGames programele
  • SuperGames programele