# dbPoll (Servidor)

> Lê a resposta de uma consulta de `dbQuery`, esperando por ela se preciso.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Servidor
- **Categoria**: Banco de dados
- **URL**: https://wiki.mymp.gg/pt/dbPoll

## Sintaxe

```lua
table|false|nil, int, int|string dbPoll(any query, int timeout)
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `query` | `any` | O identificador devolvido por `dbQuery`. |
| `timeout` | `int` | Quantos milissegundos esperar: `0` não espera, `-1` espera o quanto for preciso. |

## Retorno

`nil` se a resposta ainda não chegou. Senão, as linhas (uma tabela por linha, com as colunas pelo nome; uma coluna `NULL` fica de fora), o número de linhas afetadas e o último id inserido. Se a consulta falhou, `false`, o código do erro e a mensagem. Depois de uma resposta, o identificador é liberado.

## Exemplo

```lua
local query = dbQuery(db, "SELECT money FROM players WHERE account = ?", accountId)
local rows, affected, lastId = dbPoll(query, -1)
if rows and rows[1] then
    print("dinheiro: " .. rows[1].money)
end
```

### Atenção

Esperar trava o servidor até a resposta chegar; prefira `0` dentro de um `callback`.

## Veja também

- [dbQuery (Servidor)](https://wiki.mymp.gg/pt/dbQuery.md): Envia uma consulta SQL cuja resposta é lida depois com dbPoll.
- [dbFree (Servidor)](https://wiki.mymp.gg/pt/dbFree.md): Descarta uma consulta de dbQuery cuja resposta não vai ser lida.
