MySql fetch row pomoć

Započeo LordShigi, Jul 26, 2010, 17:39:24 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Ja radim registration system i imam problem s loadanjem podataka s MySql baze na server ovo je moj kod.

public UcitajPodatke(playerid)
{
new query[100];
new Ime[20],ImeEx[40];
GetPlayerName(playerid, Ime, sizeof(Ime));
mysql_real_escape_string(Ime,ImeEx);
printf("Ucitavanje podataka za igraca %s .", ImeEx);
    format(query, sizeof(query), "SELECT * FROM `"TABLENAME"` WHERE `Ime` = '%s'", ImeEx);
    mysql_query(query, LOAD_THREAD_ID);
}

case LOAD_THREAD_ID: {
new rezultat[1000];
new Ime[20];
GetPlayerName(extraid, Ime, sizeof(Ime));
mysql_store_result();
printf("Ucitavanje podataka za igraca %s . STORE", Ime);
while(mysql_fetch_row_format(rezultat,"|")) { //GRESKA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sscanf(rezultat,"p<|>is[24]s[20]id", IgracPodatci[extraid][iIme],IgracPodatci[extraid][iZaporka],IgracPodatci[extraid][iNovac],IgracPodatci[extraid][iRank],IgracPodatci[extraid][iRespect],
IgracPodatci[extraid][iBanana],IgracPodatci[extraid][iUpozorenja],IgracPodatci[extraid][iNovacBanka],IgracPodatci[extraid][iKredit],IgracPodatci[extraid][iAdminNivo],
IgracPodatci[extraid][iVIP],IgracPodatci[extraid][iPosao],IgracPodatci[extraid][iOrganizacija],IgracPodatci[extraid][iAuto],IgracPodatci[extraid][iBrod],IgracPodatci[extraid][iMotor],
IgracPodatci[extraid][iBicikl],IgracPodatci[extraid][iKuca],IgracPodatci[extraid][iFirma],IgracPodatci[extraid][iDrvo],IgracPodatci[extraid][iMetal],IgracPodatci[extraid][iLjepilo],
IgracPodatci[extraid][iPlastika],IgracPodatci[extraid][iStaklo],IgracPodatci[extraid][iNoz],IgracPodatci[extraid][iUze],IgracPodatci[extraid][iDroga],IgracPodatci[extraid][iAlkohol],
IgracPodatci[extraid][iLijekSifilis],IgracPodatci[extraid][iLijekGripa],IgracPodatci[extraid][iLijekMigrena]);
print(rezultat);
}
printf("Ucitavanje podataka za igraca %s . SSCANF", Ime);
format(string,sizeof(string)," %i ",IgracPodatci[extraid][iNovac]);
print(string);
printf("Ucitavanje podataka za igraca %s . QUERY", Ime);
mysql_free_result();
}



Znaci prvo se pokrece public i onda dok se query u publicu izvrši se ide na ovaj drugi dio. Pokusavao sam razno razne sulucije nista ne pomaze, naime on uopce neće fechati red. Odnosno sve obavi notmalno do ovog djela while(mysql_fetch_row_format.... Prije sam probao i bez while.

Jel mi zna ko pomoći, ako trebate dodatne informaicje vicite.


RESPECT 4 EVER: John, GLC,bAndzi, Nikola, Sop, Zoki, Bruno_Venuti, Mele, Luka P,ExtremePower,Wang(neki kineski frajer)

NAJBOLJI CITATI:
Citat: [GF]Alive poslato Jun 24, 2010, 18:20:19 POSLE PODNE
Paizte ljud mozda je KayLoger! ! !
MOJI RADOVI:
[FS]Trofeji

1. preporucam ti da na connectu posaljes query s imenom koji ce ti vratiti samo SQLID igraca, te ces preko njega kad igrac obavi login ucitati sve ostalo.

2. netreba ti ImeEx posto mozes samo mysql_real_escape_string(Ime,Ime), jednako radi da se razumjemo

3. netreba ti while loop zato sto je jedna linija a ne vise njih

4. radje koristi if (mysql_retreive_row()) mysql_get_field("Polje Name npr", value); strmid(IgracPodatci[extraid][iIme],..... i tako za sve ostale stvari koje vuces iz tablica

Will, try. Fala bogu da se neko u to razumije. Na ovom forumu nema skoro nitko ko radi s MySql-om.

EDIT: Imam problem...OPET Mozda bi ga mogao rijesiti sam ali vise nemogu ni razmisljati kolko sam se sad mucio s gluposti koja je bila tolko jednostavno da mi dode da se ubijem.

UGL. Imam ovu skriptu:
case LOAD_THREAD_ID: {
new Ime[20];
new value[50];
GetPlayerName(extraid, Ime, sizeof(Ime));
mysql_store_result();
printf("Ucitavanje podataka za igraca %s . STORE", Ime);
if(mysql_retrieve_row())
{
    mysql_get_field("LijekMigrena", value);
print(value);
}
printf("Ucitavanje podataka za igraca %s . SSCANF", Ime);
format(string,sizeof(string)," %s ",IgracPodatci[extraid][iLijekMigrena]);
print(string);
printf("Ucitavanje podataka za igraca %s . QUERY", Ime);
mysql_free_result();
}


Dok probam s ovim:
if(mysql_retrieve_row())
{
    mysql_get_field("LijekMigrena", value);
print(value);
}

radi.

A dok probam s ovim uopce ne izvrši dokraja zadatak nego stane na ovom ifu(ni ono ispod if-a ne izvrši).
if(mysql_retrieve_row())
{
    mysql_get_field("LijekMigrena", IgracPodatci[extraid][iLijekMigrena]);
print( IgracPodatci[extraid][iLijekMigrena]);
}


Probao istu stvar i s strmidom (makar neznam zasto tu strmid koristiti i opet ista stvar.
Poslednja Izmena: Jul 28, 2010, 13:58:04 POSLE PODNE od LordShigi


RESPECT 4 EVER: John, GLC,bAndzi, Nikola, Sop, Zoki, Bruno_Venuti, Mele, Luka P,ExtremePower,Wang(neki kineski frajer)

NAJBOLJI CITATI:
Citat: [GF]Alive poslato Jun 24, 2010, 18:20:19 POSLE PODNE
Paizte ljud mozda je KayLoger! ! !
MOJI RADOVI:
[FS]Trofeji