Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
MySql Połaczenie
#1
Napisano 24.01.2011 20:52
Jestem poczatkujacym w pisaniu pluginów..
Lecz mam dobrze opanowane C++.
Mam pytanie jak połaczyć sie z Mysql i jak wywołać najprostsze komendy w nim.
Z gory dziekuje za pomoc.
#2
Napisano 24.01.2011 20:56
luknij to
Dokumentacja AMXX.pl - Nieoficjalny polski support AMX Mod X
#3
Napisano 24.01.2011 21:02
samo C nic tu nie pomoże, jak nie znasz SQLa
luknij to
Dokumentacja AMXX.pl - Nieoficjalny polski support AMX Mod X
Sql oczywiscie ze znam, tylko nie znam komend typu jak z poziomu pawn'a sie połaczyć z mysql.
#4
Napisano 24.01.2011 21:15
#5
Napisano 24.01.2011 21:15
#6
Napisano 24.01.2011 22:00
Ale mam problem z tym kodem
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <sqlx> #define PLUGIN "plug" #define VERSION "1.0" #define AUTHOR "author" new Handle:Tuple = SQL_MakeDbTuple("mysql.cba.pl", "testamxx_cba_pl", "****", "testamxx_cba_pl"); // uchwyt dla mysql public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /test", "test"); // Wywolanie funkcji test } public test() { new qCommand[512]; format(qCommand, sizeof qCommand-1, "INSERT INTO test VALUES(NULL, 'Test1', 'Test2');"); SQL_ThreadQuery(Tuple, "SaveHandler", qCommand); } public SaveHandler(FailState, Handle:Query, Errorcode, Error[], Data[], DataSize) { new id = Data[0] if(Errorcode) "Blad w zapytaniu: %s [SaveData]", Error) if(FailState == TQUERY_CONNECT_FAILED) { client_print(1,print_chat,"Nie mozna podlaczyc sie do bazy danych.") return PLUGIN_CONTINUE } else if(FailState == TQUERY_QUERY_FAILED) { client_print(1,print_chat,"Zapytanie anulowane [SaveData]") return PLUGIN_CONTINUE } return PLUGIN_CONTINUE }
Wyskakuje blad: Error: Must be a constant expression; assumed zero on line 12.
Do linki z utworzeniem uchwytu:
new Handle:Tuple = SQL_MakeDbTuple("mysql.cba.pl", "testamxx_cba_pl", "****", "testamxx_cba_pl"); // uchwyt dla mysqlBardzo bym prosil o pomoc i wytlumaczenie co zle zrobilem.
#7
Napisano 25.01.2011 00:04
Użytkownik Pavulon edytował ten post 25.01.2011 00:28
#8
Napisano 25.01.2011 03:37
(jeśli mówię źle, proszę o usunięcie posta oraz nie "nagradzania" mnie punktami ujemnymi)
#9
Napisano 25.01.2011 10:45
#10
Napisano 25.01.2011 16:13
Ale rzeczywiście coś nie działa, nie dodaje krotek do bazy, ani nie wyskakuje żaden komunikat o błędzie.
Dodano 25 styczeń 2011 - 17:27:
Zmieniłem żeby info o błędzie dało mi do logów i w logach coś takiego się pojawiło:
L 01/25/2011 - 17:25:14: Start of error session. L 01/25/2011 - 17:25:14: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20110125.log") L 01/25/2011 - 17:25:14: [MySQL] Function not found: SaveHandler L 01/25/2011 - 17:25:14: [AMXX] Run time error 10 (plugin "test.amxx") (native "SQL_ThreadQuery") - debug not enabled! L 01/25/2011 - 17:25:14: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Użytkownik Sk@te edytował ten post 25.01.2011 16:23
#11
Napisano 25.01.2011 17:59
Użytkownik AmD edytował ten post 25.01.2011 18:00
#12
Napisano 25.01.2011 18:06
na
public SaveHandler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
#13
Napisano 25.01.2011 18:29
public SaveHandler(FailState, Handle:Query, Errorcode, Error[], Data[], DataSize)
na
public SaveHandler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
Tak właśnie mam.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych