Skocz do zawartości
Kaspian12

[Problem] Nie pobiera danych

Rekomendowane odpowiedzi

Mam taki fragment kodu:

mysql_query("SELECT model,X,Y,Z,R,user,hp,fuel,oil,km,door,col1,col2,tag,typ,rfuel,poj,plate,add1,add2,add3,add3r,add3z,spawn,bk,bp,bn FROM `pojazdy`");
	mysql_store_result();
	if(mysql_num_rows()) {
		while(mysql_fetch_row(str,"|")) {
			sscanf(str, "p<|>dffffs[128]dddfddds[128]ddds[128]dddffdds[128]s[128]",
			model,posx,posy,posz,posrot,user,hp,fuel,oil,przebieg,door,kolor1,kolor2,
			tag,typ,rfuel,poj,plate,add1,add2,add3,add3r,add3z,spawn,bk,bp,bn);

			...

			if(strval(typ) == 2)
			{
				vehicleid=CreateVehicle(strval(model), Pos[0], Pos[1], Pos[2], Pos[3], strval(kolor1), strval(kolor2), 45*60000);
				UpdateValue2("pojazdy","id",uid,"spawn",1);
				vehiclespawned[vehicleid]=1;
				spawnedcars++;
			}
			if(strval(typ) == 3)
			{
				vehicleid=CreateVehicle(strval(model), Pos[0], Pos[1], Pos[2], Pos[3], strval(kolor1), strval(kolor2), 45*60000);
				UpdateValue2("pojazdy","id",uid,"spawn",1);
				vehiclespawned[vehicleid]=1;
				spawnedcars++;
			}

			...
		} printf(" Znaleziono %d pojazdow, %d z nich zostalo zespawnowanych w %d ms!", count, spawnedcars, (GetTickCount()-startTime));
	} else print("Brak pojazdow");
	mysql_free_result();


W logach otrzymuję błąd:

[22:01:49] Znaleziono 1 pojazdow, 0 z nich zostalo zespawnowanych w 4 ms! 
[22:01:49] [MySQL] Error (0): Function: mysql_store_result called when no result stored. 
[22:01:49] Rozpoczeto spawnowanie Pojazdow..

Co jest nie tak? :(

Z góry dziękuję za pomoc.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak powinna wyglądać kwerenda:

SELECT model,X,Y,Z,R,user,hp,fuel,oil,km,door,col1,col2,tag,typ,rfuel,poj,plate,add1,add2,add3,add3r,add3z,spawn,bk,bp,bn FROM pojazdy;

Jeżeli używasz backquot-y to powinieneś ją zastosować odpowiednio w całej kwerendzie albo z niej zrezygnować całkowicie.

Upewnij się, że wszystkie określone w kwerendzie pola znajdują się w tabeli 'pojazdy'.

 

Mała uwaga,

Nie podałeś jakiego plugin-u msyql używasz, ale jeżeli w dokumentacji technicznej dla używanego przez ciebie plugin-u masz napisane, że funkcja mysql_query() zwraca wartość "1 on success, 0 on fail" to należałoby odnieść się do tego w taki sposób, że w przypadku błędu (najprawdopodobniej składniowego kwerendy) dalsza część kodu, pobierająca dane zwrócone z zapytania, nie zostałaby wykonana.

To chyba powinno być oczywiste.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

DaGaXeR zła uwaga. floatsqroot() i tyle.

PrzMas mysql 2.1.1 StrickenKid, dziękuję Ci za pomoc.

To dalej nie zmienia faktu, że health jest wartością float, a to Twoje

https://wiki.sa-mp.com/wiki/Floatsqroot

musi mieć float ;_; oraz nigdzie nie jest to użyte w powyższym kodzie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×