# Sending Database Requests

## Database Actions

A database action defines what format the function should return the data it retrieves from the database in. For more information on Database Actions please see the actions page.

{% content-ref url="../database-actions" %}
[database-actions](https://docs.saturncms.net/1.0.0/dev/libraries-and-functions/databasemanager/database-actions)
{% endcontent-ref %}

## Select

The Select() function allows you to select information from the database.

```php
Select(string $what, string $from, string|null $where, string $action, string|null $order = null, string|null $limit = null)
```

### Parameters

| Parameter | Type                      | Description                                                                | Example                 |
| --------- | ------------------------- | -------------------------------------------------------------------------- | ----------------------- |
| $what     | string                    | What it should select.                                                     | id                      |
| $from     | string                    | The database table (don't include the prefix, it does this automatically). | pages                   |
| $where    | string or null            | Any conditions you require.                                                | \`content\` IS NOT NULL |
| $action   | string                    | What it should do with the data.                                           | all:assoc               |
| $order    | string or null (optional) | Any specific order you'd like the data in.                                 | \`url\` DESC            |
| $limit    | string or null (optional) | Limit the amount of data being returned.                                   | 100                     |

### Example: Selecting the logged in user.

```php
use Saturn\DatabaseManager\DBMS;
$DB = new DBMS();

// Returns the first value as a JSON object.
$DB->Select('*', 'user', 'uuid = '.$_SESSION['uuid'], 'first:object');
```

## Insert

The Select() function allows you to insert information into the database.

```php
Insert(string $into, string $columns, string $values);
```

### Parameters

| Parameter | Type   | Description                                                                | Example                 |
| --------- | ------ | -------------------------------------------------------------------------- | ----------------------- |
| $into     | string | The database table (don't include the prefix, it does this automatically). | id                      |
| $columns  | string | The columns to insert data into.                                           | pages                   |
| $values   | string | The data to insert.                                                        | \`content\` IS NOT NULL |

### Example: Creating a new page.

```php
use Saturn\DatabaseManager\DBMS;
$DB = new DBMS();

$DB->Insert("pages", "`id`,`url`,`title`,`content`", "NULL, '/test', 'Test page', 'This is a test page.'");
```
