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

Wysłany: 2015-04-15, 18:03


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Witam mam do was pytanie jaki mi polecicie pluglin MySql ?

Od: StrickenKid czy BlueG ?

I z kąd je pobrać bo na forum sampa w ich głównych tematach u BlueG linki wygasły jakiś error a StrickenKid jakaś stronę StrickenKid.com mi wywala i tam nic nie ma.

Za pomoc piwko ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-15, 18:27


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Plugin StrickenKid'a zawiera podstawowe funkcje, plugin BlueG rozwijany (cały czas) przez maddinat0ra (chyba) jest bardziej zaawansowany, ma więcej funkcji. Sam używam plugin StrickenKid'a, nigdy nie miałem z nim problemów. Download jest tutaj KLIK

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-15, 19:27


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Funkcje te ?

Kod:


native MySQL:mysql_init(logtype = LOG_ONLY_ERRORS, printerrors = 1);
native mysql_connect(const host[], const user[], const pass[], const db[], MySQL:handle = (MySQL:0), auto_reconnect = 0);
native mysql_close(MySQL:handle = MySQL:0);
native mysql_refresh(options, MySQL:handle = MySQL:0);
native mysql_select_db(const db[], MySQL:handle = MySQL:0);
native mysql_query(const query[], resultid = (-1), spareid = (0), MySQL:handle = MySQL:0);
native mysql_query_array(const query[], resultid = (-1), {Float,_}:extravars[], MySQL:handle = (MySQL:0));
native mysql_store_result(MySQL:handle = MySQL:0);
native mysql_free_result(MySQL:handle = MySQL:0);
native mysql_result_stored(MySQL:handle = MySQL:0);
native mysql_fetch_field(const fieldname[], dest[], MySQL:handle = MySQL:0);
native mysql_fetch_field_num(fieldnum, dest[], MySQL:handle = MySQL:0);
native mysql_fetch_row(dest[], const splitter[] = "|", MySQL:handle = MySQL:0);
native mysql_fetch_row_data(MySQL:handle = MySQL:0);
native mysql_real_escape_string(const string[], dest[], MySQL:handle = MySQL:0);
native mysql_num_rows(MySQL:handle = MySQL:0);
native mysql_num_fields(MySQL:handle = MySQL:0);
native mysql_affected_rows(MySQL:handle = MySQL:0);
native mysql_insert_id(MySQL:handle = MySQL:0);
native mysql_ping(MySQL:handle = MySQL:0);
native mysql_error(dest[], MySQL:handle = MySQL:0);
native mysql_errno(MySQL:handle = MySQL:0);
native mysql_warning_count(MySQL:handle = MySQL:0();
native mysql_info(dest[], MySQL:handle = MySQL:0);
native mysql_stat(dest[], MySQL:handle = MySQL:0);
native mysql_get_server_info(dest[], MySQL:handle = MySQL:0);
native mysql_get_host_info(dest[], MySQL:handle = MySQL:0);
native mysql_data_seek(rownum, MySQL:handle = MySQL:0);
native mysql_set_character_set(const csname[], MySQL:handle = MySQL:0);
native mysql_get_character_set(csname[], MySQL:handle = MySQL:0);
native mysql_fetch_int(MySQL:handle = MySQL:0);
native mysql_fetch_float(MySQL:handle = MySQL:0);
native mysql_fetch_string(dest[], MySQL:handle = MySQL:0);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-15, 19:34


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Przecież dałem download, powinien tam być plik mysql.inc

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-15, 19:41


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Combacior, ja tylko się pytam czy tych funkcji używać ;)

[ Dodano: 2015-04-15, 20:42 ]
Spokojnie nie zrozumieliśmy się już all zainstalowałem i z bazą się połączyłem ;]

[ Dodano: 2015-04-15, 20:50 ]
Kod:


format(query,200,"SELECT * FROM `user` WHERE `name`='%s' LIMIT 1",nick);


i tam na końcu jest LIMIT 1 , dlaczego daje się na końcu LIMIT 1? , chyba nie potrzeba ale co on znaczy do czego o służy ?

[ Dodano: 2015-04-15, 21:05 ]


[ Dodano: 2015-04-15, 21:05 ]
testowe zapytanie i errory na górze dałem zdjęcie

Kod:


new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid,nick,sizeof(nick));
new query[200];
format(query,200,"SELECT * FROM `user` WHERE `name` = '%s' LIMIT 1",nick);
mysql_query(query);
if(mysql_num_rows())
{
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Testowy MySql","Wpisz Haslo aby sie zalogowac","Loguj","Anuluj");
}
else
{
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_PASSWORD,"Testowy MySQL","Wpisz Haslo aby sie zarejestrowac","Zarejestruj","Anuluj");
}
mysql_free_result();


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-15, 20:48


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
LIMIT 1 oznacza przy ilu znalezionych rekordach kwerenda ma się zakończyć, w tym przypadku jeśli zostanie odnaleziony jeden rekord, to następuje koniec szukania. Jest to przydatne przy szukaniu kont graczy z nicku/uid graczy, gdyż ani nick ani uID się nigdy nie powtórzą. Bez limitu wydobywanie danych wykonuje się aż do ostatniego rekordu w tabeli - niepotrzebnie, bo skoro ani nick ani uID są unikalne, to nie znajdzie się więcej niż jedno konto.

Co do błędu, to przy używaniu zapytań z kwerendą SELECT trzeba użyć funkcji mysql_store_result zaraz po mysql_query

Kod:

mysql_query(...);
mysql_store_result();
//reszta kodu


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 13:45


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
aa fakt już zapomniałem o tym ;) Dzięki

[ Dodano: 2015-04-16, 15:05 ]
Jeszcze jedno pytanie co do Bazy Danych , jeśli będę chciał zapisać np. 40 zmiennych to da radę tyle ? lub więcej jeśli będę miał i w tworzeniu kolumny w bazie danych aby zapisać zmienną bool to jaki typ kolumny mam wybrac.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 14:06


Iggy

#viceadmin






Wiek: 21
Na forum: 2947 dni
Posty: 3255
Nick w MP: Iggy

Piwa: 1294

Respekt: 875
Respekt: 875Respekt: 875



   Vice Admin: Jeśli potrzebujesz pomocy w sprawach organizacyjnych lub technicznych - skontaktuj się ze mną.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 14:29


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Iggy, przecież już wybrałem includa i już na nim skryptuję tylko pytam się ile można w ta bazę danych max zmiennych itp wpakować oraz jakim typem kolumny zapisywać wartość bool

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 15:26


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Nie ma limitu - możesz zapisać nieograniczoną ilość danych. Zmienną typu bool możesz zapisać jako integer albo bool. Istnieje taki typ kolumny jak BOOL, lecz w rzeczywistości to jest to samo co tinyint(1), bo bool przyjmuje tylko argumenty false (czyli 0) i true (czyli 1), w PAWN działa tak samo. Poniższy kod da w konsoli cyfrę 0.

Kod:

printf("theBool: %d", false);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 18:08


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Combacior, nie ma limitu danych ale jak będę to wczytywał to np. będzie z 60 zmiennych tak zakładam już daleko w przyszłość to string z 2000 będę musiał zrobić i wszystko w formaty wrzucić jest na to jakiś inny sposób ? na ten wczyt i tą rejestrację

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 19:25


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Na pewno będzie to długi string, inaczej nie da rady tego zrobić. Możesz podzielić zapytanie na kilka, np. w pierwszym zapytaniu pobrać najważniejsze informacje (hasło, ip, uid itp.), aby umożliwić logowanie, a dopiero po udanym zalogowaniu przez gracza pobrać resztę danych (zabójstwa, śmierci itp.).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-16, 19:37


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
hmm limit 4000 tysiące stringu będzie trzeba kombinować i na kilka jak byłoby dużo to na kilka zapytań zrobić. Hmm no ok Combacior, dzięki za pomoc ;)

[ Dodano: 2015-04-16, 20:51 ]
Jeszcze mam jeden problem przy wczytywaniu, w pluglinie od blueg używałem funkcji mysql_fetch_row_format(query, "|"); aby rozdzielić tekst a tutaj nie ma takiej funkcji ;/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-17, 13:01


Combacior







Wiek: 25
Na forum: 4146 dni
Posty: 1520

Piwa: 2131

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Umiesz szukać? Chyba nie, bo taka funkcja jest, ale pod inną nazwą. Naprawdę trudno się domyślić, że funkcja mysql_fetch_row jest odpowiednikiem funkcji mysql_fetch_row_format w innym pluginie ... weź użyj głowy czasami, bo ona nie służy tylko do walenia w mur.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-04-17, 13:22


kazami

Pawner/PTG






Wiek: 22
Na forum: 2946 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3


Ostrzeżeń: 80%
Zapomniałem napisać na forum , jak wysłałem ten post to już znalazłem tą funkcję ;D

Postaw piwo autorowi tego posta
 

 
Tagi: mysql :: jaki :: wybrać
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

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

Skocz do: