---
title: "db_query | open.mp"
description: "این تابع برای اجرای یک کوئری SQL روی پایگاه داده SQLite باز شده استفاده می‌شود."
canonical: https://omp.itsneufox.com/fa/docs/scripting/functions/db_query
language: fa
---

# db\_query

## توضیحات

این تابع برای اجرای یک کوئری SQL روی پایگاه داده SQLite باز شده استفاده می‌شود.

| نام | توضیحات |
| --- | --- |
| DB:db | هندل پایگاه داده برای کوئری کردن. |
| query\[\] | کوئری برای اجرا. |

## مقادیر بازگشتی

ایندکس نتیجه کوئری (شروع از 1) در صورت موفقیت، در غیر این صورت 0.

## مثال‌ها

```c
// entity_storage.inc

EntityStorage_SpawnAll(DB:connectionHandle)
{
    // انتخاب همه ورودی‌ها در جدول "entities"
    new DBResult:db_result_set = db_query(connectionHandle, "SELECT * FROM `entities`");

    // اگر هندل مجموعه نتایج پایگاه داده معتبر است
    if (db_result_set)
    {
        // انجام کاری...

        // آزادسازی مجموعه نتایج
        db_free_result(db_result_set);
    }
}
```

```c
// mode.pwn

#include <entity_storage>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
    // ...

    // ایجاد اتصال به پایگاه داده
    gDBConnectionHandle = db_open("example.db");

    // اگر اتصال به پایگاه داده وجود دارد
    if (gDBConnectionHandle)
    {
        // اتصال به پایگاه داده با موفقیت ایجاد شد
        print("Successfully created a connection to database \"example.db\".");
        EntityStorage_SpawnAll(gDBConnectionHandle);
    }
    else
    {
        // ایجاد اتصال به پایگاه داده ناموفق بود
        print("Failed to open a connection to database \"example.db\".");
    }

    // ...

    return 1;
}

public OnGameModeExit()
{
    // بستن اتصال به پایگاه داده در صورت باز بودن اتصال
    if (db_close(gDBConnectionHandle))
    {
        // پاکسازی اضافی
        gDBConnectionHandle = DB:0;
    }

    // ...

    return 1;
}
```

## نکات

هشدار

همیشه نتایج را با استفاده از [db\_free\_result](https://omp.itsneufox.com/fa/docs/scripting/functions/db_free_result) آزاد کنید!

## توابع مرتبط

-   [db\_open](https://omp.itsneufox.com/fa/docs/scripting/functions/db_open): باز کردن اتصال به پایگاه داده SQLite
-   [db\_close](https://omp.itsneufox.com/fa/docs/scripting/functions/db_close): بستن اتصال به پایگاه داده SQLite
-   [db\_free\_result](https://omp.itsneufox.com/fa/docs/scripting/functions/db_free_result): آزادسازی حافظه نتیجه از db\_query
-   [db\_num\_rows](https://omp.itsneufox.com/fa/docs/scripting/functions/db_num_rows): دریافت تعداد ردیف‌ها در نتیجه
-   [db\_next\_row](https://omp.itsneufox.com/fa/docs/scripting/functions/db_next_row): حرکت به ردیف بعدی
-   [db\_num\_fields](https://omp.itsneufox.com/fa/docs/scripting/functions/db_num_fields): دریافت تعداد فیلدها در نتیجه
-   [db\_field\_name](https://omp.itsneufox.com/fa/docs/scripting/functions/db_field_name): برگرداندن نام فیلد در ایندکس مشخص
-   [db\_get\_field](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field): دریافت محتوای فیلد با ID مشخص از ردیف نتیجه فعلی
-   [db\_get\_field\_assoc](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field_assoc): دریافت محتوای فیلد با نام مشخص از ردیف نتیجه فعلی
-   [db\_get\_field\_int](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field_int): دریافت محتوای فیلد به عنوان عدد صحیح با ID مشخص از ردیف نتیجه فعلی
-   [db\_get\_field\_assoc\_int](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field_assoc_int): دریافت محتوای فیلد به عنوان عدد صحیح با نام مشخص از ردیف نتیجه فعلی
-   [db\_get\_field\_float](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field_float): دریافت محتوای فیلد به عنوان عدد اعشاری با ID مشخص از ردیف نتیجه فعلی
-   [db\_get\_field\_assoc\_float](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_field_assoc_float): دریافت محتوای فیلد به عنوان عدد اعشاری با نام مشخص از ردیف نتیجه فعلی
-   [db\_get\_mem\_handle](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_mem_handle): دریافت هندل حافظه برای پایگاه داده SQLite که با db\_open باز شده
-   [db\_get\_result\_mem\_handle](https://omp.itsneufox.com/fa/docs/scripting/functions/db_get_result_mem_handle): دریافت هندل حافظه برای کوئری SQLite که با db\_query اجرا شده
-   [db\_debug\_openfiles](https://omp.itsneufox.com/fa/docs/scripting/functions/db_debug_openfiles): دریافت تعداد اتصالات باز پایگاه داده برای اهداف دیباگ
-   [db\_debug\_openresults](https://omp.itsneufox.com/fa/docs/scripting/functions/db_debug_openresults): دریافت تعداد نتایج باز پایگاه داده
