---
title: "db_close | open.mp"
description: "Closes a SQLite database connection that was opened with `db_open`."
canonical: https://omp.itsneufox.com/docs/scripting/functions/db_close
language: en
---

# db\_close

## Description

Closes a SQLite database connection that was opened with [db\_open](https://omp.itsneufox.com/docs/scripting/functions/db_open).

| Name | Description |
| --- | --- |
| DB:db | The handle of the database connection to close (returned by [db\_open](https://omp.itsneufox.com/docs/scripting/functions/db_open)). |

## Returns

**true** - The function executed successfully.

**false** - The function failed to execute. This could mean that the database connection handle is invalid.

## Examples

```c
static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
    // ...

    // Create a connection to a database
    gDBConnectionHandle = db_open("example.db");

    // If connection to the database exists
    if (gDBConnectionHandle)
    {
        // Successfully created a connection to the database
        print("Successfully created a connection to database \"example.db\".");
    }
    else
    {
        // Failed to create a connection to the database
        print("Failed to open a connection to database \"example.db\".");
    }

    // ...

    return 1;
}

public OnGameModeExit()
{
    // Close the connection to the database if connection is open
    if (db_close(gDBConnectionHandle))
    {
        // Extra cleanup
        gDBConnectionHandle = DB:0;
    }

    // ...

    return 1;
}
```

## Notes

warning

Using an invalid handle other than zero will crash your server! Get a valid database connection handle by using [db\_open](https://omp.itsneufox.com/docs/scripting/functions/db_open).

## Related Functions

-   [db\_open](https://omp.itsneufox.com/docs/scripting/functions/db_open): Open a connection to an SQLite database
-   [db\_close](https://omp.itsneufox.com/docs/scripting/functions/db_close): Close the connection to an SQLite database
-   [db\_query](https://omp.itsneufox.com/docs/scripting/functions/db_query): Query an SQLite database
-   [db\_free\_result](https://omp.itsneufox.com/docs/scripting/functions/db_free_result): Free result memory from a db\_query
-   [db\_num\_rows](https://omp.itsneufox.com/docs/scripting/functions/db_num_rows): Get the number of rows in a result
-   [db\_next\_row](https://omp.itsneufox.com/docs/scripting/functions/db_next_row): Move to the next row
-   [db\_num\_fields](https://omp.itsneufox.com/docs/scripting/functions/db_num_fields): Get the number of fields in a result
-   [db\_field\_name](https://omp.itsneufox.com/docs/scripting/functions/db_field_name): Returns the name of a field at a particular index
-   [db\_get\_field](https://omp.itsneufox.com/docs/scripting/functions/db_get_field): Get content of field with specified ID from current result row
-   [db\_get\_field\_assoc](https://omp.itsneufox.com/docs/scripting/functions/db_get_field_assoc): Get content of field with specified name from current result row
-   [db\_get\_field\_int](https://omp.itsneufox.com/docs/scripting/functions/db_get_field_int): Get content of field as an integer with specified ID from current result row
-   [db\_get\_field\_assoc\_int](https://omp.itsneufox.com/docs/scripting/functions/db_get_field_assoc_int): Get content of field as an integer with specified name from current result row
-   [db\_get\_field\_float](https://omp.itsneufox.com/docs/scripting/functions/db_get_field_float): Get content of field as a float with specified ID from current result row
-   [db\_get\_field\_assoc\_float](https://omp.itsneufox.com/docs/scripting/functions/db_get_field_assoc_float): Get content of field as a float with specified name from current result row
-   [db\_get\_mem\_handle](https://omp.itsneufox.com/docs/scripting/functions/db_get_mem_handle): Get memory handle for an SQLite database that was opened with db\_open.
-   [db\_get\_result\_mem\_handle](https://omp.itsneufox.com/docs/scripting/functions/db_get_result_mem_handle): Get memory handle for an SQLite query that was executed with db\_query.
-   [db\_debug\_openfiles](https://omp.itsneufox.com/docs/scripting/functions/db_debug_openfiles): The function gets the number of open database connections for debugging purposes.
-   [db\_debug\_openresults](https://omp.itsneufox.com/docs/scripting/functions/db_debug_openresults): The function gets the number of open database results.

## Modern SQLite Functions

-   [DB\_Open](https://omp.itsneufox.com/docs/scripting/functions/DB_Open_Modern): Open a connection to an SQLite database
-   [DB\_Close](https://omp.itsneufox.com/docs/scripting/functions/DB_Close_Modern): Close the connection to an SQLite database
-   [DB\_ExecuteQuery](https://omp.itsneufox.com/docs/scripting/functions/DB_ExecuteQuery): Query an SQLite database
-   [DB\_FreeResultSet](https://omp.itsneufox.com/docs/scripting/functions/DB_FreeResultSet): Free result memory from a DB\_ExecuteQuery
-   [DB\_GetRowCount](https://omp.itsneufox.com/docs/scripting/functions/DB_GetRowCount): Get the number of rows in a result
-   [DB\_SelectNextRow](https://omp.itsneufox.com/docs/scripting/functions/DB_SelectNextRow): Move to the next row
-   [DB\_GetFieldCount](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldCount): Get the number of fields in a result
-   [DB\_GetFieldName](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldName): Returns the name of a field at a particular index
-   [DB\_GetFieldString](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldString): Get content of field with specified ID from current result row
-   [DB\_GetFieldStringByName](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldStringByName): Get content of field with specified name from current result row
-   [DB\_GetFieldInt](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldInt): Get content of field as an integer with specified ID from current result row
-   [DB\_GetFieldIntByName](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldIntByName): Get content of field as an integer with specified name from current result row
-   [DB\_GetFieldFloat](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldFloat): Get content of field as a float with specified ID from current result row
-   [DB\_GetFieldFloatByName](https://omp.itsneufox.com/docs/scripting/functions/DB_GetFieldFloatByName): Get content of field as a float with specified name from current result row
-   [DB\_GetMemHandle](https://omp.itsneufox.com/docs/scripting/functions/DB_GetMemHandle): Get memory handle for an SQLite database that was opened with DB\_Open.
-   [DB\_GetLegacyDBResult](https://omp.itsneufox.com/docs/scripting/functions/DB_GetLegacyDBResult): Get memory handle for an SQLite query that was executed with DB\_ExecuteQuery.
-   [DB\_GetDatabaseConnectionCount](https://omp.itsneufox.com/docs/scripting/functions/DB_GetDatabaseConnectionCount): The function gets the number of open database connections for debugging purposes.
-   [DB\_GetDatabaseResultSetCount](https://omp.itsneufox.com/docs/scripting/functions/DB_GetDatabaseResultSetCount): The function gets the number of open database results.
