Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Invalid row index, amx callback executed with error


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1524 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

[19:10:02] [DEBUG] cache_get_value_name(0, "slaptazodis", 0x047BD618, 41)
[19:10:02] [ERROR] cache_get_value_name: invalid row index '0' (number of rows: '0')
[19:10:02] [DEBUG] AMX callback executed with error '0'

[19:09:54] [DEBUG] cache_get_value_name(0, "email", 0x047BD654, 25)
[19:09:54] [DEBUG] cache_get_value_name: assigned value: '[email protected]'
[19:09:54] [DEBUG] cache_get_value_name: return value: '1'
9:09:54] [DEBUG] AMX callback executed with error '0'

#####################
new psw[41];
cache_get_value_name(0, "slaptazodis", psw);

new emailas[25];
cache_get_value_name(0, "email", emailas);

Any ideas?

 

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
53 minutes prieš, Michael_Scott parašė:

Rodo, kad 0 eilučių rado. Pažėk gal neprisijungia prie duomenų bazės, ir parodyk query

mysql_format(connectionHandle, query, 128, "SELECT skin, x, y, z facing, slaptazodis FROM zaidejai WHERE vardas = '%s' AND slaptazodis = '%s' LIMIT 1;", playerName[playerid], input2);
mysql_tquery(connectionHandle, query, "OnPlayerTryingLogin", "di", playerid, 0);

Prie db prisijungia, dar su print checkinimą pasidaręs

 

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

4 minutes prieš, JimmyEXE parašė:

mysql_format(connectionHandle, query, 128, "SELECT skin, x, y, z facing, slaptazodis FROM zaidejai WHERE vardas = '%s' AND slaptazodis = '%s' LIMIT 1;", playerName[playerid], input2);
mysql_tquery(connectionHandle, query, "OnPlayerTryingLogin", "di", playerid, 0);

image.thumb.png.3fac29d368a18c88ba1ba5e167c4d87b.pngŠitą?

Neselectini emailo, ir funkcijos pradžioje pažėk kiek eilučių, jeigu eilučių 0, reiškias nėra tokio vardo ir slaptažodžio duomenų bazėje, t.y. neteisingas slaptažodis.

Btw, kai siunti query vietoje 'vardas' = '%s' naudok '%e'.

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
29 minutes prieš, Michael_Scott parašė:

Neselectini emailo, ir funkcijos pradžioje pažėk kiek eilučių, jeigu eilučių 0, reiškias nėra tokio vardo ir slaptažodžio duomenų bazėje, t.y. neteisingas slaptažodis.

Btw, kai siunti query vietoje 'vardas' = '%s' naudok '%e'.

Jau susipratau, kad nėra selected :D Slaptažodį neteisingą įvedus meta šitą error'ą (specialiai neįvedus), kad 0 rows, o pats slaptažodis yra įvestas DB @Michael_Scott

Taip pat prisijungus 

[20:55:29] [plugins/mysql] cache_get_value_index_int: no active cache
[20:55:29] [plugins/mysql] cache_get_value_index_float: no active cache
[20:55:29] [plugins/mysql] cache_get_value_index_float: no active cache
[20:55:29] [plugins/mysql] cache_get_value_index_float: no active cache
[20:55:29] [plugins/mysql] cache_get_value_index_float: no active cache
		cache_get_value_index_int(0, 0, pInfo[playerid][skin]);

		cache_get_value_index_float(0, 1, cords[0]);

		cache_get_value_index_float(0, 2, cords[1]);

		cache_get_value_index_float(0, 3, cords[2]);

		cache_get_value_index_float(0, 4, cords[3]);

Query taspats.

 

 Tarkim ištryniau visą kodą ir palikau: 

if(cache_num_rows() > 0)

{}

else{}

Ir vistiek erroras pareina.

[21:10:23] [INFO] query "SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1" successfully executed within 0.413 milliseconds
[21:10:23] [DEBUG] CResultSet::Create(connection=0x6ce468, query_str='SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1')
[21:10:23] [DEBUG] created new resultset '0x6f0ce0'
[21:10:23] [DEBUG] fetched MySQL result '0x6b0370'
[21:10:23] [DEBUG] allocated 92 bytes for PAWN result
[21:10:23] [DEBUG] CCallback::Execute(amx=0x2b08120, index=103, num_params=2)
[21:10:23] [INFO] Executing callback 'OnPlayerTryingLogin' with 2 parameters...
[21:10:23] [DEBUG] processing internal specifier 'c'
[21:10:23] [DEBUG] pushed value '0' onto AMX stack
[21:10:23] [DEBUG] processing internal specifier 'c'
[21:10:23] [DEBUG] pushed value '0' onto AMX stack
[21:10:23] [DEBUG] executing AMX callback with index '103'
[21:10:23] [DEBUG] cache_get_row_count(0x048AC6DC)
[21:10:23] [DEBUG] cache_get_row_count: return value: '1'
[21:10:23] [DEBUG] AMX callback executed with error '0'

Per database nrml viskas suveikia.

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

18 minutes prieš, #Hooligan parašė:

No hate - trink sistema (juokauju) gal nebaigta ji pilnai ir tiek..?

Well, istryniau palikau if(cache_num_rows) ir else, ir pareina erroras vistiek po query :D no idea

Nuoroda į komentarą
Dalintis per kitą puslapį

27 minutes prieš, JimmyEXE parašė:

Well, istryniau palikau if(cache_num_rows) ir else, ir pareina erroras vistiek po query :D no idea

Koks erroras? Ir man rodos taip nesidaro, tiksliai neprisimenu, bet tūrėtų būti

cache_get_row_count(kintamasis) ir tada if(kintamasis)

Nuoroda į komentarą
Dalintis per kitą puslapį

Dabar, Michael_Scott parašė:

Koks erroras? Ir man rodos taip nesidaro, tiksliai neprisimenu, bet tūrėtų būti

cache_get_row_count(kintamasis) ir tada if(kintamasis)

Čia r41-4

[21:10:23] [INFO] query "SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1" successfully executed within 0.413 milliseconds
[21:10:23] [DEBUG] CResultSet::Create(connection=0x6ce468, query_str='SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1')
[21:10:23] [DEBUG] created new resultset '0x6f0ce0'
[21:10:23] [DEBUG] fetched MySQL result '0x6b0370'
[21:10:23] [DEBUG] allocated 92 bytes for PAWN result
[21:10:23] [DEBUG] CCallback::Execute(amx=0x2b08120, index=103, num_params=2)
[21:10:23] [INFO] Executing callback 'OnPlayerTryingLogin' with 2 parameters...
[21:10:23] [DEBUG] processing internal specifier 'c'
[21:10:23] [DEBUG] pushed value '0' onto AMX stack
[21:10:23] [DEBUG] processing internal specifier 'c'
[21:10:23] [DEBUG] pushed value '0' onto AMX stack
[21:10:23] [DEBUG] executing AMX callback with index '103'
[21:10:23] [DEBUG] cache_get_row_count(0x048AC6DC)
[21:10:23] [DEBUG] cache_get_row_count: return value: '1'
[21:10:23] [DEBUG] AMX callback executed with error '0'

 

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
9 minutes prieš, .static parašė:

new rowCount;
cache_get_row_count(rowCount);
if(rowCount > 0)
{
    // ...
}

Tai turėtų sutvarkyti tavo klaidą, kada tu bandai išgauti reikšmę iš negalimos eilutės.

 

Vistiek error'ą meta as i thought wont change anything :D Čia executinus query erroras pareina, tipo

[22:33:16] [DEBUG] executing AMX callback with index '101'

...

[22:33:16] [DEBUG] AMX callback executed with error '0'

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

3 minutes prieš, JimmyEXE parašė:

Vistiek error'ą meta as i thought wont change anything :D Čia executinus query erroras pareina, tipo

[22:33:16] [DEBUG] executing AMX callback with index '101'

...

[22:33:16] [DEBUG] AMX callback executed with error '0'

Geriau atsiųsk savo kodą, gal pastebėsim kažką įdomaus, o dabar tik spėliojam

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
										#pragma unused pid2, did2, litem2
										if(resp2)
										{
											mysql_format(connectionHandle, query, 128, "SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = '%e' AND slaptazodis = '%s' LIMIT 1;", playerName[playerid], input2);
											mysql_tquery(connectionHandle, query, "OnPlayerTryingLogin", "di", playerid, 0);
										}	
										else return Kick(playerid);
									}

Thread callbacke nieko nebėra bet šitą būtent query išsiuntus poto AMX error išmeta.

 

Su query btw viskas nrml.

[22:33:16] [INFO] query "SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1" successfully executed within 0.297 milliseconds
[22:33:16] [DEBUG] CResultSet::Create(connection=0x82c428, query_str='SELECT skin, x, y, z, facing, slaptazodis, email FROM zaidejai WHERE vardas = 'Admin_Kalvis' AND slaptazodis = 'kalvis' LIMIT 1')

 

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
4 minutes prieš, Michael_Scott parašė:

mysql_tquery(connectionHandle, query, "OnPlayerTryingLogin", "di", playerid, 0);

Kam tą 0 perduodi?

Ir parodyk funkcija pačią OnPlayerTrying login

OnPlayerTryingLogin aš kaip debug pasidaręs(pasinaikinau visą kitą), daugiau ten nieko nėr ką apačioj parašiau. O 0 perduodamas attempts(bandymai)

if(cache_num_rows() > 0)

{printas..}

else{printas..} 

Maždaug public OnPlayerTryingLogin(playerid, attempts)

Redaguota , nario JimmyEXE
Nuoroda į komentarą
Dalintis per kitą puslapį

7 minutes prieš, JimmyEXE parašė:

OnPlayerTryingLogin aš kaip debug pasidaręs(pasinaikinau visą kitą), daugiau ten nieko nėr ką apačioj parašiau. O 0 perduodamas attempts(bandymai)

if(cache_num_rows() > 0)

{printas..}

else{printas..} 

Maždaug public OnPlayerTryingLogin(playerid, attempts)

Hmm, kažkoks idomus atvejis, siūlyčiau dar pasidaryti, kad tik errorus mestu į logus, nes čia bereikalo prirašo ir pasimeta errorai.

Nuoroda į komentarą
Dalintis per kitą puslapį

4 minutes prieš, Michael_Scott parašė:

Hmm, kažkoks idomus atvejis, siūlyčiau dar pasidaryti, kad tik errorus mestu į logus, nes čia bereikalo prirašo ir pasimeta errorai.

Dbr lyg ir nemeta į patį errors.txt ?

Nuoroda į komentarą
Dalintis per kitą puslapį

5 minutes prieš, Michael_Scott parašė:

Ten kur cache_get_value_name, pamiršai nurodyti destination string ilgį.

Pasidariau callbacke biškį.

Įvedus blogą psw specialiai pirmą kartą išmeta:

[23:19:39] [ERROR] cache_get_value_name: invalid row index '0' (number of rows: '0')

Antra kartą įvedus blogai prijungia prie serverio ir meta šitus: :D

[23:20:07] [ERROR] cache_get_value_index_int: no active cache
[23:20:07] [ERROR] cache_get_value_index_float: no active cache
[23:20:07] [ERROR] cache_get_value_index_float: no active cache
[23:20:07] [ERROR] cache_get_value_index_float: no active cache
[23:20:07] [ERROR] cache_get_value_index_float: no active cache

 

function OnPlayerTryingLogin(playerid, attempts)
{
	if(cache_num_rows() > 0)
	{
		online[playerid] = true;
		poPrisijungimo[playerid] = true;
		MSG(playerid, GREEN, "+ Sėkmingai prisijungėte prie paskyros!");

		new Float:cords[4];

		cache_get_value_index_int(0, 0, pInfo[playerid][skin]);

		cache_get_value_index_float(0, 1, cords[0]);

		cache_get_value_index_float(0, 2, cords[1]);

		cache_get_value_index_float(0, 3, cords[2]);

		cache_get_value_index_float(0, 4, cords[3]);

		SetSpawnInfo(playerid, NO_TEAM, pInfo[playerid][skin], cords[0], cords[1], cords[2] + 0.75, cords[3], 0, 0, 0, 0, 0, 0);
		SpawnPlayer(playerid);
	}
	else
	{
		new psw[41];
		cache_get_value_name(0, "slaptazodis", psw, 40);
		MSG(playerid, -1, "{CC0000}-{ffffff} Neteisingas slaptažodis!");
		inline loginas(pid, did, resp, litem, string:input[])
		{
			#pragma unused pid, did, litem
			if(resp)
			{
				if(strcmp(input, psw, true) == 0)
				{
					online[playerid] = true;
					poPrisijungimo[playerid] = true;
					MSG(playerid, GREEN, "+ Sėkmingai prisijungėte prie paskyros!");

					new Float:cords[4];

					cache_get_value_index_int(0, 0, pInfo[playerid][skin]);

					cache_get_value_index_float(0, 1, cords[0]);

					cache_get_value_index_float(0, 2, cords[1]);

					cache_get_value_index_float(0, 3, cords[2]);

					cache_get_value_index_float(0, 4, cords[3]);

					SetSpawnInfo(playerid, NO_TEAM, pInfo[playerid][skin], cords[0], cords[1], cords[2] + 0.75, cords[3], 0, 0, 0, 0, 0, 0);
					SpawnPlayer(playerid);

				}
				else
				{
					MSG(playerid, -1, "{CC0000}-{ffffff} Neteisingas slaptažodis!");
					Dialog_ShowCallback(playerid, using inline loginas, DIALOG_STYLE_INPUT, "{ffffff}Prisijungimas", "{CC0000}-{ffffff} Neteisingas {CC0000}slaptažodis\n\n{ffffff} Norėdami{3299DF} prisijungti{ffffff} įveskite slaptažodį:", "Prisijungti", "Išeiti");
				}
			}	
			else return Kick(playerid);
		}
		Dialog_ShowCallback(playerid, using inline loginas, DIALOG_STYLE_INPUT, "{ffffff}Prisijungimas", "{CC0000}-{ffffff} Neteisingas {CC0000}slaptažodis\n\n{ffffff} Norėdami{3299DF} prisijungti{ffffff} įveskite slaptažodį:", "Prisijungti", "Išeiti");
	}
	return true;
}

 

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1524 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

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ų

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...