Problème avec le return dans une fonction

Bonjour à tous, le code ci-dessous fonctionne, le print « Tout est ok » fonctionne bien, le true est bien retourné par la fonction

if doorID.items then
    local inventory = ox_inventory:Search(source, 'slots', {'key1', 'key2','key3', 'key4'})

    if inventory then
        for name, data in pairs(inventory) do
            for _, v in pairs(data) do
                if v.slot then
                    if json.encode(v.metadata.room) == doorID.room then
                       print("Tout est ok")
                       return true
                    end
                end
            end
        end
    end
end

Dans le code ci-dessous, le print se fait bien, mais le return true ne fonctionne plus :thinking:

if doorID.items then
    local inventory = ox_inventory:Search(source, 'slots', {'key1', 'key2','key3', 'key4'})

    if inventory then
        for name, data in pairs(inventory) do
            for _, v in pairs(data) do
                if v.slot then
                    if json.encode(v.metadata.room) == doorID.room then
                        MySQL.single('SELECT * FROM properties WHERE position = ?', {doorID.room}, function(result)
                                if tonumber(result.security) == v.metadata.security then
                                    print("Tout est ok")
                                    return true
                                end
                            end
                        )
                    end
                end
            end
        end
    end
end

Avez-vous une explication ? Une piste pour que je trouve une solution ? Merci d’avance :slight_smile: