Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-06-04, 15:24


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Cze?? i czo?em. Robi? sys. osi?gni?? i mam pewien problem, chodzi z ich odczytem - w og?le nie dzia?a. Printowa?em "o1" czyli zmienn? l1 i w logach wyskoczy?a pusta linijka (tylko z czasem).

Kod:

Kod:


new stri[256];
new l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20;
GetPlayerName(playerid, plInfo[playerid][Nick], MAX_PLAYER_NAME);
format(stri, sizeof(stri), "SELECT `Nick` FROM `Osiagniecia` WHERE `Nick` = '%s'", plInfo[playerid][Nick]);
mysql_query(stri);
mysql_store_result();
if(mysql_num_rows() == 0)
{
new Query[300];
format(Query, sizeof(Query), "INSERT INTO `Osiagniecia` (`Nick`,`o1`,`o2`,`o3`,`o4`,`o5`,`o6`,`o7`,`o8`,`o9`,`o10`,`o11`,`o12`,`o13`,`o14`,`o15`,`o16`,`o17`,`o18`,`o19`,`o20`) VALUES ('%s','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d')",PlayerName(playerid),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
mysql_query(Query);
}
else
{
format(stri, 256, "SELECT * FROM `Osiagniecia` WHERE `Nick` = '%s'", plInfo[playerid][Nick]);
if(mysql_retrieve_row())
{
new result[35];
mysql_get_field("o1", result);
l1 = strval(result);

mysql_get_field("o2", result);
l2 = strval(result);

mysql_get_field("o3", result);
l3 = strval(result);

mysql_get_field("o4", result);
l4 = strval(result);

mysql_get_field("o5", result);
l5 = strval(result);

mysql_get_field("o6", result);
l6 = strval(result);

mysql_get_field("o7", result);
l7 = strval(result);

mysql_get_field("o8", result);
l8 = strval(result);

mysql_get_field("o9", result);
l9 = strval(result);

mysql_get_field("o10", result);
l10 = strval(result);

mysql_get_field("o11", result);
l11 = strval(result);

mysql_get_field("o12", result);
l12 = strval(result);

mysql_get_field("o13", result);
l13 = strval(result);

mysql_get_field("o14", result);
l14 = strval(result);

mysql_get_field("o15", result);
l15 = strval(result);

mysql_get_field("o16", result);
l16 = strval(result);

mysql_get_field("o17", result);
l17 = strval(result);

mysql_get_field("o18", result);
l18 = strval(result);

mysql_get_field("o19", result);
l19 = strval(result);

mysql_get_field("o20", result);
l20 = strval(result);
}
osiag[0][playerid] = l1;
osiag[1][playerid] = l2;
osiag[2][playerid] = l3;
osiag[3][playerid] = l4;
osiag[4][playerid] = l5;
osiag[5][playerid] = l6;
osiag[6][playerid] = l7;
osiag[7][playerid] = l8;
osiag[8][playerid] = l9;
osiag[9][playerid] = l10;
osiag[10][playerid] = l11;
osiag[11][playerid] = l12;
osiag[12][playerid] = l13;
osiag[13][playerid] = l14;
osiag[14][playerid] = l15;
osiag[15][playerid] = l16;
osiag[16][playerid] = l17;
osiag[17][playerid] = l18;
osiag[18][playerid] = l19;
osiag[19][playerid] = l20;
}
mysql_free_result();



Za pomoc kilka piwek i rep +10 :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-04, 15:50


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Kod:

format(stri, 256, "SELECT * FROM `Osiagniecia` WHERE `Nick` = '%s'", plInfo[playerid][Nick]);


Tutaj chyba nie masz mysql_query, tylko od razu da?e? retrieve_row - by? mo?e o tym zapomnia?e?

Po 2.

Kod:

format(stri, sizeof(stri), "SELECT `Nick` FROM `Osiagniecia` WHERE `Nick` = '%s'", plInfo[playerid][Nick])


Srsly? Gdzie w tym logika? W og?le ca?y ten kod jest dziwnie u?o?ony, ale mo?e dopiero zaczynasz, wi?c nie b?d? si? czepia?. Przedstawi? og?lny lepszy pomys? kodu

Kod:

format(stri, 256, "SELECT * FROM `Osiagniecia` WHERE `Nick` = '%s'", plInfo[playerid][Nick]);
mysql_query(stri);
mysql_store_result();

if(mysql_num_rows())
{
//znalazlo gracza w tabeli
}
else
{
//nie znalazlo gracza w tabeli - zrob tutaj sw?j insert
}


Bo aktualnym kodem by? mo?e b?dzie dzia?a? jak wstawisz mysql_query tam gdzie go nie ma, ale powy?szym kodem zrobisz to 1/2 zapytaniami, a u siebie masz najpierw sprawdzanie, czy gracz jest w tabeli (1 zapytanie), je?li nie ma to insert (2 zapytanie), a je?li jest to select (3 zapytanie) - mo?na to zrobi? dwoma.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-04, 17:05


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Nadal nic :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-04, 21:10


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Podaj kod po jego poprawieniu, bo kod w pierwszym po?cie nie mo?e dzia?a?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-04, 21:51


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Oo.. jeszcze raz teraz pokombinowa?em i zadzia?a? Tw?j kod. Dzi?ki i masz respekta :P

Postaw piwo autorowi tego posta
 

 
Tagi: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] MySQL Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku