From the reference libraryFiveM

Query

ox/oxmysql/Functions/query.mdx

Query

When selecting data, returns all matching rows and columns; otherwise, returns data like insertId, affectedRows, etc.

Promise

    local response = MySQL.query.await('SELECT `firstname`, `lastname` FROM `users` WHERE `identifier` = ?', {
        identifier
    })

    if response then
        for i = 1, #response do
            local row = response[i]
            print(row.firstname, row.lastname)
        end
    end
    ```

  
  

    ```js
    const response = await MySQL.query('SELECT `firstname`, `lastname` FROM `users` WHERE `identifier` = ?', [
      identifier
    ])

    if (response) {
      response.forEach((row) => {
        console.log(row.identifier, row.firstname, row.lastname)
      })
    }
    ```

  

**Aliases**

- `MySQL.Sync.fetchAll`
- `exports.ghmattimysql.execute`
- `exports.oxmysql.query_async`

## Callback

```lua
    MySQL.query('SELECT `firstname`, `lastname` FROM `users` WHERE `identifier` = ?', {
        identifier
    }, function(response)
        if response then
            for i = 1, #response do
                local row = response[i]
                print(row.firstname, row.lastname)
            end
        end
    end)
    ```

  
  

    ```js
    MySQL.query('SELECT `firstname`, `lastname` FROM `users` WHERE `identifier` = ?', [
      identifier
    ], (response) => {
      if (response) {
        response.forEach((row) => {
          console.log(row.firstname, row.lastname)
        })
      }
    })
    ```

  

**Aliases**

- `MySQL.Async.fetchAll`
- `exports.ghmattimysql.execute`
- `exports.oxmysql.query`
Back to documentation