---
title: "db_num_fields | open.mp"
description: "Dobija broj polja iz skupa rezultata dodijeljen s `db_query`."
canonical: https://omp.itsneufox.com/bs/docs/scripting/functions/db_num_fields
language: bs
---

# db\_num\_fields

## Deskripcija

Dobija broj polja iz skupa rezultata dodijeljen s [db\_query](https://omp.itsneufox.com/bs/docs/scripting/functions/db_query).

| Ime | Deskripcija |
| --- | --- |
| DBResult:dbresult | Rezultat od [db\_query](https://omp.itsneufox.com/bs/docs/scripting/functions/db_query). |

## Returns

Broj polja u rezultatu.

## Example

```c
// examples.inc

// ...

static FindFieldIndexByName(DBResult:dbResultSet, const fieldName[])
{
    // Vrijednost varijable s povratom sa zadanom povratnom vrijednošću
    new ret = -1;

    // Brojanje polja
    new field_count = db_num_fields(dbResultSet);

    // Naziv trenutnog polja
    new current_field_name[32];

    // Iteracija kroz sva polja
    for (new field_index; field_index < field_count; field_index++)
    {
        // Dobij ime polja
        if (db_field_name(dbResultSet, field_index, current_field_name, sizeof current_field_name))
        {
            // Usporedite naziv pretraživanog polja s trenutnim nazivom polja
            if (!strcmp(fieldName, current_field_name))
            {
                // Uspješno, pohraniti indeks polja za vraćanje varijable vrijednosti
                ret = field_index;

                // Zaustavljamo petlju
                break;
            }
        }
    }

    // Vrati indeks pronađenog polja ili "-1"
    return ret;
}

Float:Examples_CalculateSum(DB:dbConnectionHandle)
{
    // Vrijednost varijable s povratom
    new Float:ret;

    // Skup rezultata rezultata baze podataka
    new DBResult:db_result_set = db_query("SELECT `value` FROM `examples`");

    // Ako je zbir rezultata rezultata baze podataka valjan
    if (db_result_set)
    {
        // Nabavimo indeks ciljnog polja
        new target_field_index = FindFieldIndexByName(db_result_set, "value");

        // Provjerimo je li indeks polja valjan
        if (target_field_index >= 0)
        {
            // Radi operacije
            do
            {
                // Dodajte vrijednost iz polja "primjer" u varijablu povratne vrijednosti
                ret += db_get_field_float(db_result_set, target_field_index);
            }

            // Dok bi se mogao preuzeti sljedeći red
            while (db_next_row(db_result_set));
        }

        // Oslobodi rezultat
        db_free_result(db_result_set);
    }

    // Vrati izračunati zbroj
    return ret;
}
```

```c
// mode.pwn

// ...

#include <examples>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
    // ...

    // Kreiramo konekciju za databazu
    gDBConnectionHandle = db_open("example.db");

    // Ako konekcija za databazu postoji
    if (gDBConnectionHandle)
    {
        // Uspješno kreirana konekcija do databaze
        print("Uspješno stvorena veza s bazom podataka \"example.db\".");
        printf("Izracunata suma: %f", Examples_CalculateSum(gDBConnectionHandle));
    }
    else
    {
        // Neuspješno kreirana konekcija do databaze
        print("Otvaranje veze s bazom podataka nije uspjelo \"example.db\".");
    }

    // ...

    return 1;
}

public OnGameModeExit()
{
    // Zatvori konekciju sa databazom ako je otvorena
    if (db_close(gDBConnectionHandle))
    {
        // Dodatno čišćenje
        gDBConnectionHandle = DB:0;
    }

    // ...

    return 1;
}
```

## Zabilješke

warning

Upotreba nevaljanog upravitelja databaze koja nije nula srušit će vaš server! Nabavite važeći upravitelj databazom pomoću [db\_open](https://omp.itsneufox.com/bs/docs/scripting/functions/db_open).

## Srodne Funkcije

-   [db\_open](https://omp.itsneufox.com/bs/docs/scripting/functions/db_open): Otvori konekciju do SQLite databaze.
-   [db\_close](https://omp.itsneufox.com/bs/docs/scripting/functions/db_close): Zatvori konekciju do SQLite databaze.
-   [db\_query](https://omp.itsneufox.com/bs/docs/scripting/functions/db_query): Upitajte SQLite bazu podataka.
-   [db\_free\_result](https://omp.itsneufox.com/bs/docs/scripting/functions/db_free_result): Oslobodite memoriju rezultata iz db\_query.
-   [db\_num\_rows](https://omp.itsneufox.com/bs/docs/scripting/functions/db_num_rows): Dobijte broj redaka u rezultatu.
-   [db\_next\_row](https://omp.itsneufox.com/bs/docs/scripting/functions/db_next_row): Pređi na sljedeći red.
-   [db\_field\_name](https://omp.itsneufox.com/bs/docs/scripting/functions/db_field_name): Return/vraća ime polja na posebnom indexu.
-   [db\_get\_field](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field): Preuzmite sadržaj polja iz db\_query.
-   [db\_get\_field\_assoc](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field_assoc): Dobij sadržaj polja kao string s navedenim imenom polja.
-   [db\_get\_field\_int](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field_int): Dobijte sadržaj polja kao cijeli broj iz db\_query.
-   [db\_get\_field\_assoc\_int](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field_assoc_int): Dobijte sadržaj polja kao cijeli broj s navedenim imenom iz trenutnog reda rezultata.
-   [db\_get\_field\_float](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field_float): Dobijte sadržaj polja kao float broj s navedenim imenom iz trenutnog reda rezultata.
-   [db\_get\_field\_assoc\_float](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_field_assoc_float): Dobij sadržaj polja kao float broj s navedenim imenom polja.
-   [db\_get\_mem\_handle](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_mem_handle): Dobij memorijski upravitelj za vezu SQLite databaze koja je otvorena s `db_open`.
-   [db\_get\_result\_mem\_handle](https://omp.itsneufox.com/bs/docs/scripting/functions/db_get_result_mem_handle): Dobiva memorijski upravitelj za vezu SQLite databaze koja je dodijeljena sa s `db_query`.
-   [db\_debug\_openfiles](https://omp.itsneufox.com/bs/docs/scripting/functions/db_debug_openfiles): Dobiva broj otvorenih konekcija/veza databaza u svrhu otklanjanja pogrešaka.
-   [db\_debug\_openresults](https://omp.itsneufox.com/bs/docs/scripting/functions/db_debug_openresults): Dobiva broj rezultata otvorene databaze.
