#include <amxmodx> #include <amxmisc> #include <sqlx> #define PLUGIN "test" #define VERSION "1.0" #define AUTHOR "author" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("wyswietl","make"); // Add your code here... } public make() { new Handle:Tuple = SQL_MakeDbTuple("localhost", "root", "pw", "base") SQL_ThreadQuery(Tuple, "read", "SELECT text FROM test LIMIT 1") } public read() { //PLEASE HELP }
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.
|
Guest Message by DevFuse
SQL_ReadResult
Temat rozp. Patman, 01.07.2010 21:48
2 odpowiedzi w tym temacie
#1
Napisano 01.07.2010 21:48
Witam, proszę o pomoc w użyciu funkcji SQL_ReadResult. Chciałbym, aby po wpisaniu "wyświetl" wyświetliła się informacja z bazy MySQL np. z bazy "base" tabela "test"(id,text). Wszelkie próby nieudane. Udały się tylko inne operacje na bazie. Na forum fragmenty obszernych pluginów. Chciałbym, aby ktoś napisał mi to czarno na białym ten prosty kod. Dziękuję.
#2
Napisano 01.07.2010 22:45
Jeśli ThreadQuery to możesz wykorzystać parametry podawane do funkcji read.
Czytając stringa z pierwszej kolumny (SELECT pierwsza, druga, trzecia_kolumna FROM ....) podajesz drugi parametr 0, potem tablicę i max długość.
Do wątku możesz dodać własne parametry, tu przydałoby się id gracza (tablica data[])
Warto by było sprawdzić czy wynik można odczytać (SQL_MoreResults())
Czytając stringa z pierwszej kolumny (SELECT pierwsza, druga, trzecia_kolumna FROM ....) podajesz drugi parametr 0, potem tablicę i max długość.
Do wątku możesz dodać własne parametry, tu przydałoby się id gracza (tablica data[])
Warto by było sprawdzić czy wynik można odczytać (SQL_MoreResults())
#include <amxmodx> #include <amxmisc> #include <sqlx> #define PLUGIN "test" #define VERSION "1.0" #define AUTHOR "author" new Handle:Tuple; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("wyswietl","make"); Tuple = SQL_MakeDbTuple("localhost", "root", "pw", "base") } public make(id) { new data[1] data[0] = id; SQL_ThreadQuery(Tuple, "read", "SELECT text FROM test LIMIT 1", data, 1) } public read(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { new id = Data[0]; if(id && !is_user_connected(id)) return PLUGIN_CONTINUE if(Errcode) { console_print(id, "Error on Save_xp query: %s",Error) return PLUGIN_CONTINUE } if(FailState == TQUERY_CONNECT_FAILED) { console_print(id,"Could not connect to SQL database.") return PLUGIN_CONTINUE } else if(FailState == TQUERY_QUERY_FAILED) { console_print(id,"Query failed") return PLUGIN_CONTINUE } //if(SQL_MoreResults(query)){ new szText[128]; SQL_ReadResult(Query, 0, szText, 127); console_print(id,"Text = %s", szText) //} }
#3
Napisano 09.07.2010 21:08
Co do funkcji SQL_ReadResult: jeśli nie znasz numeru kolumny (nie chce Ci się liczyć, zmieniasz coś w kodzie itp) możesz podać coś takiego:
W ten sposób amx sam sobie obliczy numer kolumny, wystarczy podać jej nazwę
SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pierwsza"), szText, 127);
W ten sposób amx sam sobie obliczy numer kolumny, wystarczy podać jej nazwę
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych