SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje serwera
  3. dbQuery

Funkcja

dbQuery

SerwerBaza danychIdentyczna z MTA:SA

Wysyła zapytanie z wynikiem. Wynik odbierasz przez dbPoll albo w funkcji zwrotnej, która dostanie uchwyt zapytania.

Składnia

handle dbQuery([function callback, table callbackArgs,] element connection, string query [, mixed ...])

Argumenty

callbackfunction, opcjonalny = nil
Funkcja wywołana, gdy wynik jest gotowy. Pierwszy argument to uchwyt zapytania.
callbackArgstable, opcjonalny = nil
Dodatkowe argumenty dla funkcji zwrotnej.
connectionelement
Uchwyt z dbConnect.
querystring
Zapytanie SQL z ?.
...mixed
Wartości dla ?.

Zwraca

Uchwyt zapytania albo false.

Przykład

addEventHandler("onPlayerLogin", root, function()
    local player = source
    dbQuery(function(q)
        local rows = dbPoll(q, 0)
        if rows and rows[1] and isElement(player) then
            setPlayerMoney(player, rows[1].kasa)
        end
    end, db, "SELECT kasa FROM gracze WHERE serial = ?", getPlayerSerial(player))
end)

Uwagi

Nie blokuje serwera. Zapytanie wykonuje się w tle, a funkcja zwrotna przychodzi, gdy baza odpowie, zawsze dopiero po powrocie z dbQuery. Zapytania na jednym połączeniu wykonują się po kolei.

Prościej: dbFetch. Jeśli nie potrzebujesz funkcji zwrotnej, dbFetch w zadaniu async daje wiersze jednym wywołaniem.

Zobacz też