Jelentkezz be, hogy követhesd  
Követő(k) 0
Vegance Roleplay

Belső modul alapú MYSQL csatlakozás, használat

15 hozzászólás ebben a témában

Üdvözlet! Mivel mindenki a zero külső modulját használja, ezért írtam nektek egy egyszerű csatlakozást, ami a belső

modult használja. Ezer indokom van rá, hogy miért ne külső modult használjatok, szívesen elmondom, ha

kérdezitek. A csatlakozáson kívűl a használt változók:


dbQuery+dbFree
Segítség, példa:
                       dbQuery(a csatlakozás funkciója, "mit szeretnél csinálni", "első paraméter", "második paraméter", "érték")
local queryHasznalat = dbQuery( csatlakozasFunkcio, "INSERT INTO tablaneve VALUES (?,?,?)", "a", "b", 1 )
dbFree( queryHasznalat )

dbQuery+pool
				dbQuery(a csatlakozás funkciója, "mit szeretnél csinálni")
local queryHasznalat = dbQuery( csatlakozasFunkcio, "SELECT * FROM tablaneve" )
dbPoll( queryHasznalat, -1 )


dbExec
Segítség, példa:
dbExec(a csatlakozás funkciója, "mit szeretnél csinálni", "első paraméter", "második paraméter", "érték")
dbExec( csatlakozasFunkcio, "INSERT INTO tableneve VALUES (?,?,?)", "a", "b", 1 )


dbPrepareString
Segítség, példa:

valamilyenAdatLekerdezes = { "1", "2", "3" }

local stringeles = dbPrepareString( csatlakozasFunkcio, "SELECT * FROM `adat` WHERE true" )
for _,adat in ipairs(valamilyenAdatLekerdezes) do
    stringeles = stringeles .. dbPrepareString( csatlakozasFunkcio, " AND `adat`=?", valamilyenAdatLekerdezes )
end
dbQuery( csatlakozasFunkcio, stringeles )

A mysql használatnál értsd:
SELECT*FROM = Kiválasztás táblából [mit], WHERE = Milyen sort rendelsz hozzá [Milyen értékkel]
insertnél ugyan ez

Na és a script:

local adatok = {
["hoszt"] = "",
["jelszo"] = "",
["felhasznalo"] = "",
["adatbazisNev"] = "",
}


function csatlakozasAdatbazishoz()
csatlakozas = dbConnect("mysql","adatbazisNev=".. lekerdezTombAlapjan()["adatbazisNev"] ..";hoszt="..lekerdezTombAlapjan()["hoszt"], lekerdezTombAlapjan()["felhasznalo"], lekerdezTombAlapjan()["jelszo"], "megosztas=1")
if csatlakozas then
	outputDebugString("Mysql-re sikeresen csatlakoztam.")
else
	outputDebugString("A csatlakozás a mysql-re sikertelen.")
	cancelEvent(true)
end
end
addEventHandler("onResourceStart", getRootElement(), csatlakozasAdatbazishoz)

function lekerdezCsatlakozas()
return csatlakozas
end

function lekerdezTombAlapjan()
return adatok
end

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Kérlek a kód tagokat a megfelelő rendeltetésük szerint használd.

Nem értem a problémád. a db funkcióknál?

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Kérlek a kód tagokat a megfelelő rendeltetésük szerint használd.

Nem értem a problémád.

Szerkesztettem neked, most nézd meg. És szűrd le a kettő közti különbséget.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Kérlek a kód tagokat a megfelelő rendeltetésük szerint használd.

Nem értem a problémád.

Szerkesztettem neked, most nézd meg. És szűrd le a kettő közti különbséget.

Luában nem lehet csak úgy megjegyzést írni. Ha egy programnyelvbe valamelyik kód nem használható, akkor az nem számít kódsornak. Magyarán baromság az egészet kódba rakni, majd a db funkciókat , meg a for loopot, mert az számít kódsornak.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ettől függetlenül, ez már évek óta így megy. És nem te fogod megreformálni a szabályzatot.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ettől függetlenül, ez már évek óta így megy. És nem te fogod megreformálni a szabályzatot.

Oké, tehát véletlen sem működik itt demokrácia. A moderátorok a diktátorok?  :hmmm:  :D

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Rövidre zárva: Ha legközelebb is elmarad a kód használat, akkor figyelmeztetésben részesülsz. Most megúsztad egy írásbeli figyúval.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Rövidre zárva: Ha legközelebb is elmarad a kód használat, akkor figyelmeztetésben részesülsz. Most megúsztad egy írásbeli figyúval.

Akkor kérlek írd le a kódsor pontos használatát. Mert nem rendeltetés szerűen működik, hanem kitalált rendszer alapján.

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Nem a kód soráról van szó, félreértettél.

Az alább lévő tagokról van szó.

[code][ /code]

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ezen a 2. code snippeteden beszartam, erre fogadni mernek, hogy nem mukodik.

De gondolom mivel 0-rol irt, tudod hol a hiba :)

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Ezen a 2. code snippeteden beszartam, erre fogadni mernek, hogy nem mukodik.

De gondolom mivel 0-rol irt, tudod hol a hiba :)

Kérlek ne beszél baromságokat.

Rövidre zárva: Ha legközelebb is elmarad a kód használat, akkor figyelmeztetésben részesülsz. Most megúsztad egy írásbeli figyúval.

Akkor kérlek írd le a kódsor pontos használatát. Mert nem rendeltetés szerűen működik, hanem kitalált rendszer alapján.

Tudom miről beszélsz. De akkor az infókat is illesszem a kódba?

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Magyarosításból fasza vagy tesó

Ez most valami irónia akart lenni? Te 2014-ben minek voltál az év scriptere?  :laugh:

Az év legjobb szkriptere Pedró és kurta999 lett 15-15 szavazattal;

Természetesen SA:MP, nem pedig MTA.

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

Tesó, ha te ezt ebben a formában működésre bírod én megtapsollak:

    local adatok = {
    ["hoszt"] = "",
    ["jelszo"] = "",
    ["felhasznalo"] = "",
    ["adatbazisNev"] = "",
    }
     
     
    function csatlakozasAdatbazishoz()
            csatlakozas = dbConnect("mysql","adatbazisNev=".. lekerdezTombAlapjan()["adatbazisNev"] ..";hoszt="..lekerdezTombAlapjan()["hoszt"], lekerdezTombAlapjan()["felhasznalo"], lekerdezTombAlapjan()["jelszo"], "megosztas=1")
            if csatlakozas then
                    outputDebugString("Mysql-re sikeresen csatlakoztam.")
            else
                    outputDebugString("A csatlakozás a mysql-re sikertelen.")
                    cancelEvent(true)
            end
    end
    addEventHandler("onResourceStart", getRootElement(), csatlakozasAdatbazishoz)
     
    function lekerdezCsatlakozas()
            return csatlakozas
    end
     
    function lekerdezTombAlapjan()
            return adatok
    end

Ekkora felesleget, lekerdezTombAlapjan helyett lehetne "adatok"-at használni, sőt a dbConnect funkció nem is fog működni.

    databaseType: The type of database. This can be either sqlite or mysql
    host: The target to connect to. The format of this depends on the database type.
        For SQLite it is a filepath to a SQLite database file. If the filepath starts with ":/" then the server's global databases directory is used. The file will be created if it does not exist.
        For MySQL it is a list of key=value pairs separated by semicolons. Supported keys are:
            dbname: Name of the database to use e.g. dbname=test
            host: Host address e.g. host=127.0.0.1
            port: Host port e.g. port=1234 (optional, defaults to standard MySQL port if not used)
            unix_socket: Unix socket or named pipe to use (optional)
            charset: Communicate with the server using a character which is different from the default e.g. charset=utf8 (optional)


    username: Usually required for MySQL, ignored by SQLite
    password: Usually required for MySQL, ignored by SQLite
    options : List of key=value pairs separated by semicolons. Supported keys are:
        share which can be set to 0 or 1. (Default value for SQLite is "share=1", for MySQL is "share=0"). When set to 1, the connection is shared and will be used by other calls to dbConnect with the same host string. This is usually a good thing for SQLite connections, but not so good for MySQL unless care is taken.
        batch which can be set to 0 or 1. (Default is "batch=1"). When set to 1, queries called in the same frame are automatically batched together which can significantly speed up inserts/updates. The downside is you lose control of the feature that is used to achieve batching (For SQLite it is transactions, for MySQL it is autocommit mode). Therefore, if you use transactions, lock tables or control autocommit yourself, you may want to disable this feature.
        autoreconnect which can be set to 0 or 1. (Default value "autoreconnect=1"). When set to 1, dropped connections will automatically be reconnected. Note that session variables, user variables, table locks and temporary tables will be reset because of the reconnection. So if you use these fancy features, you will need to turn autoreconnect off and cope with dropped connections some other way.
        log which can be set to 0 or 1. (Default value "log=1"). When set to 0, activity from this connection will not be recorded in the database debug log file.
        tag (Default value "tag=script"). A string which helps identify activity from this connection in the database debug log file.
        suppress A comma separated list of error codes to ignore. (eg. "suppress=1062,1169").

FROM VERSION 1.5.2 r7972 ONWARDS

        multi_statements Enable multiple statements (separated by a semi-colon) in one query. Use dbPrepareString when building a multiple statement query to reduce SQL injection risks.

Tesó, én értem, hogy magyarosítasz, de ennyire ne, ha már te ilyen profi vagy.

#BakondiRP

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon

[gmod]Zártam, ha lesz idegzetem kiosztom a figyelmeztetéseket is[/gmod]

1 személy kedveli ezt

Megosztás


Megosztás link alapján
Megosztás egy közösségi oldalon
Vendég
A téma le van zárva, így nem szólhatsz hozzá!
Jelentkezz be, hogy követhesd  
Követő(k) 0