Placeholders

Placeholders permitem que parâmetros de consulta sejam executados de maneira segura, prevenindo métodos comuns de injeção de SQL (opens in a new tab).

Os parâmetros podem ser passados como um array ou objeto (referido como parâmetros nomeados).

local identifier = 'license:abc123'
local group = 'admin'
 
MySQL.scalar('SELECT `username` FROM `users` WHERE `identifier` = ? AND `group` = ?', { identifier, group })
 
-- Placeholders nomeados (descontinuado)
MySQL.scalar('SELECT `username` FROM `users` WHERE `identifier` = @identifier AND `group` = @group', {
    group = group
    identifier = identifier
})

Esses placeholders são distintos de declarações preparadas, que são gerenciadas pelo servidor MySQL; você pode usar MySQL.prepare para consultas mais otimizadas e seguras.