MySQL prisijungimas

Forumas skirtas klausimams/pamokoms susijusioms su PHP, SQL (MySQL), web technologijomis, HTML, CSS, javascript, turinio valdymo sistemomis ir kita.
User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: MySQL prisijungimas

Post by aaarnas »

Tada su ta kalba, kurią geriausiai išmanai ir paprasčiausia string formatuoti.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Tetusis

Re: MySQL prisijungimas

Post by Tetusis »

Butu naudinga jei zmogus gana gerai mokantis php/mysql ir turintis minimalias zinias sukurtu paprasta php/mysql/pawn tut, kad ir paprasciausia statistikos plugina, tarkim yra uzduotis -

Code: Select all

set_task
ji kas 3sec iskviecia funkcija kitaip tariant loop'ina, funkcijoje yra paprasciausi tikrinimai, na tarkim vienas is mano sablonu, aisku neveikiantis, del netaisiklingu mysql query isdestymu, principa suprasite

Code: Select all

#include <amxmodx>#include <amxmisc>#include <sqlx> #define PLUGIN "DB test"#define VERSION "0.1"#define AUTHOR "Vycka"  new Handle:g_sql_tuple;  public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)     set_task(0.1, "mysql_connect")    set_task(3.0, "info", 0, "", 0, "b")}  public mysql_connect(){    new host[32], user[32], pass[32], db[32], table[32];    host = "";    user = "";    pass = "";    db = "";    table = "";        g_sql_tuple = SQL_MakeDbTuple(host, user, pass, db)         new cache[1001];        formatex(cache, charsmax(cache), "QueryHandle","CREATE TABLE IF NOT EXISTS `%s` (`hostname` varchar(100), `ip` varchar(16), `port` varchar(6))", table)                        SQL_ThreadQuery(g_sql_tuple, "QueryHandle", cache)        } public QueryHandle(FailState,Handle:Query,Error[],Errcode) {        if(FailState == TQUERY_QUERY_FAILED)         return server_print("SQL: Prisijungti prie DB nepavyko")                else if(FailState == TQUERY_QUERY_FAILED)        return server_print("SQL: Query(uzklausa) nepavyko")            if(Errcode)        return server_print("SQL: query(uzklausos) klaida: %s",Error)            return PLUGIN_CONTINUE}  public info() {    if(!sql_ready)        return PLUGIN_CONTINUE        new serverio_pavadinimas[64], serverio_ip[16], serverio_port[16];         get_cvar_string("hostname", serverio_pavadinimas, sizeof(serverio_pavadinimas)-1)    get_cvar_string("ip", serverio_ip, sizeof(serverio_ip)-1)    get_cvar_string("port", serverio_port, sizeof(serverio_port)-1)        //formatex(cache, charsmax(cache), "QueryHandle","INSERT INTO `%s` (hostname, ip, port) VALUES ('%s','%s','%s')", table, serverio_pavadinimas, serverio_ip, serverio_port)     formatex(cache, charsmax(cache), "QueryHandle","UPDATE `%s` WHERE (hostname, ip, port) VALUES ('%s','%s','%s')", table, serverio_pavadinimas, serverio_ip, serverio_port)     //formatex(cache, charsmax(cache), "UPDATE `table_test` set `hostname` = '%s', `ip` = '%s', `port` = '%s' WHERE `hostname` = ''", serverio_pavadinimas, serverio_ip, serverio_port)        SQL_ThreadQuery(g_sql_tuple, "QueryHandle", cache)        server_print("SQL: INFO atnaujintas")        return PLUGIN_CONTINUE;}  

User avatar
rotosas
Gana aktyvus vartotojas
Posts: 225
Joined: 2011 Mar 19 18:56
Skype: rotosas
Location: Vilnius

Re: MySQL prisijungimas

Post by rotosas »

Tetusis wrote:Butu naudinga jei zmogus gana gerai mokantis php/mysql ir turintis minimalias zinias sukurtu paprasta php/mysql/pawn tut, kad ir paprasciausia statistikos plugina, tarkim yra uzduotis -

Code: Select all

set_task
ji kas 3sec iskviecia funkcija kitaip tariant loop'ina, funkcijoje yra paprasciausi tikrinimai, na tarkim vienas is mano sablonu, aisku neveikiantis, del netaisiklingu mysql query isdestymu, principa suprasite

Code: Select all

#include <amxmodx>#include <amxmisc>#include <sqlx> #define PLUGIN "DB test"#define VERSION "0.1"#define AUTHOR "Vycka"  new Handle:g_sql_tuple;  public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)     set_task(0.1, "mysql_connect")    set_task(3.0, "info", 0, "", 0, "b")}  public mysql_connect(){    new host[32], user[32], pass[32], db[32], table[32];    host = "";    user = "";    pass = "";    db = "";    table = "";        g_sql_tuple = SQL_MakeDbTuple(host, user, pass, db)         new cache[1001];        formatex(cache, charsmax(cache), "QueryHandle","CREATE TABLE IF NOT EXISTS `%s` (`hostname` varchar(100), `ip` varchar(16), `port` varchar(6))", table)                        SQL_ThreadQuery(g_sql_tuple, "QueryHandle", cache)        } public QueryHandle(FailState,Handle:Query,Error[],Errcode) {        if(FailState == TQUERY_QUERY_FAILED)         return server_print("SQL: Prisijungti prie DB nepavyko")                else if(FailState == TQUERY_QUERY_FAILED)        return server_print("SQL: Query(uzklausa) nepavyko")            if(Errcode)        return server_print("SQL: query(uzklausos) klaida: %s",Error)            return PLUGIN_CONTINUE}  public info() {    if(!sql_ready)        return PLUGIN_CONTINUE        new serverio_pavadinimas[64], serverio_ip[16], serverio_port[16];         get_cvar_string("hostname", serverio_pavadinimas, sizeof(serverio_pavadinimas)-1)    get_cvar_string("ip", serverio_ip, sizeof(serverio_ip)-1)    get_cvar_string("port", serverio_port, sizeof(serverio_port)-1)        //formatex(cache, charsmax(cache), "QueryHandle","INSERT INTO `%s` (hostname, ip, port) VALUES ('%s','%s','%s')", table, serverio_pavadinimas, serverio_ip, serverio_port)     formatex(cache, charsmax(cache), "QueryHandle","UPDATE `%s` WHERE (hostname, ip, port) VALUES ('%s','%s','%s')", table, serverio_pavadinimas, serverio_ip, serverio_port)     //formatex(cache, charsmax(cache), "UPDATE `table_test` set `hostname` = '%s', `ip` = '%s', `port` = '%s' WHERE `hostname` = ''", serverio_pavadinimas, serverio_ip, serverio_port)        SQL_ThreadQuery(g_sql_tuple, "QueryHandle", cache)        server_print("SQL: INFO atnaujintas")        return PLUGIN_CONTINUE;}  
Jam gi ne AMXX plugino reikia.
P.S. Aš manau, kad, newb, galėtum su C++ padaryt, nes kaip žinau visai neblogai AMXX pawno išmanai, o C++ į pawno turi daug panašumų.
Image
Image
Jei padėjau, nepagailėk ir nepatingėk paspaust +KARMA. :)

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: MySQL prisijungimas

Post by hleV »

rotosas wrote: P.S. Aš manau, kad, newb, galėtum su C++ padaryt, nes kaip žinau visai neblogai AMXX pawno išmanai, o C++ į pawno turi daug panašumų.
Panaši tik sintaksė ir preprocesorius. Kaip ir su nemažai kitų kalbų. Jei daryt kažką su C++ efektyviai ir "tinkamai", tai tikrai kodo nerašysi taip, kaip darytum su Pawn. Žodžiu tavo argumentas jog "jei Pawn išmanai, naudok būtent C++" yra neteisingas.

Ir šiaip tas Pawn yra skriptinimo kalba labiau, kai C++ yra aukšto lygio programavimo kalba. Drįsiu pasakyt kad, jei moki gerai kurt plugin'us - nereiškia kad moki programuot.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: MySQL prisijungimas

Post by aaarnas »

Pawn labiau panaši į C (aišku be pointerių+dalykai iš C++ kaip reference), bet tikrai ne į C++, jei vien dar OOP paliesim.
Esmė, kad yra elementari sintaksė, kuri naudojama daugumoje kalbų.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 43 guests