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