M MY Multiplayer: Wiki
Lado
Tipo

dbQuery

Servidor

Envia uma consulta SQL cuja resposta é lida depois com dbPoll.

any dbQuery(element connection, string sql, any ... [, function callback = nil])

Parâmetros

NomeTipoDescrição
callbackfunctionSe dada, é chamada com o identificador da consulta quando a resposta chega; chame dbPoll(query, 0) dentro dela.padrão nil
connectionelementUma conexão de dbConnect.
sqlstringO comando SQL, com ? e ?? como marcadores.
...anyOs valores dos marcadores: textos, números, booleanos ou nil.

Retorno

Um identificador da consulta para dbPoll e dbFree. Sem callback, dentro de uma corrotina, espera a resposta e devolve o mesmo que dbPoll.

Marcadores e ciclo de vida

  • ? recebe o próximo valor, já escapado: nil vira NULL, booleanos viram 1 ou 0 e textos ficam entre aspas.
  • ?? recebe um texto como identificador escapado de tabela ou coluna.
  • O número de valores precisa ser igual ao de marcadores.
  • Um identificador sem callback que ninguém mais referencia é liberado automaticamente pelo coletor de lixo.

Exemplo

dbQuery(function(query)
    local rows = dbPoll(query, 0)
    if rows then
        print(#rows .. " jogadores salvos")
    end
end, db, "SELECT * FROM players WHERE money > ?", 100)

Veja também