Progetto H — Riferimento API Documentazione & Scripting

Funzioni & API Esportate 3

MetaMySQL.Query

Server
MetaMySQL.Query(sql, params, callback)
Esegue una query SELECT asincrona con parametri posizionali preparati (:0, :1, ...) e restituisce un array di righe.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
sql string Obbligatorio Query SQL con segnaposto :0, :1, ...
params any[] Opzionale (default: {}) Array ordinato dei valori per i parametri.
callback function(rows, err) Obbligatorio Callback con l'array delle righe o il messaggio di errore.

Valore di Ritorno

void — Nessun valore di ritorno.

Esempio d'Uso

Esempio Lua
MetaMySQL.Query("SELECT * FROM users WHERE identifier = :0 LIMIT 1", { "char1:76561198..." }, function(rows, err)
    if err then
        Console.Error("Errore DB: %s", err)
        return
    end
    if #rows > 0 then
        Console.Log("Trovato: %s %s", rows[1].firstname, rows[1].lastname)
    end
end)

MetaMySQL.Execute

Server
MetaMySQL.Execute(sql, params, callback)
Esegue una query di modifica (INSERT, UPDATE, DELETE) e restituisce il numero di righe modificate.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
sql string Obbligatorio Query SQL di esecuzione.
params any[] Opzionale (default: {}) Array dei parametri preparati.
callback function(affectedRows, err) Opzionale Callback con il conteggio delle righe modificate.

Valore di Ritorno

void — Nessun valore di ritorno.

Esempio d'Uso

Esempio Lua
MetaMySQL.Execute("UPDATE users SET money = money + :0 WHERE identifier = :1", { 100, "char1:765611..." }, function(affected, err)
    if err then return Console.Error(err) end
    Console.Log("Monete aggiornate su %d record", affected)
end)

MetaMySQL.Transaction

Server
MetaMySQL.Transaction(queries, callback)
Esegue una serie atomica di query con commit automatico o rollback in caso di errore.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
queries table[] Obbligatorio Array di query { query = 'SQL...', params = { ... } }.
callback function(success, err) Obbligatorio Callback con l'esito della transazione.

Valore di Ritorno

void — Nessun valore di ritorno.

Esempio d'Uso

Esempio Lua
MetaMySQL.Transaction({
    { query = "UPDATE accounts SET balance = balance - 100 WHERE id = 1" },
    { query = "UPDATE accounts SET balance = balance + 100 WHERE id = 2" }
}, function(success, err)
    if not success then Console.Error("Transazione fallita: %s", err) end
end)