Demonstra prepared statements com múltiplos parâmetros nomeados em array associativo (:min_preco, :min_estoque).
| id_produto | nome_produto | nome_categoria | preco | estoque |
|---|---|---|---|---|
| 106 | Secador de Filamento | Acessório | R$ 299,90 | 12 |
| 105 | Resina 8K (Lançamento) | Insumo | R$ 180,00 | 25 |
| 107 | Sensor Nivelamento Auto | Peça | R$ 149,00 | 20 |
| 104 | Mesa PEI Texturizada | Peça | R$ 120,00 | 15 |
// Consulta usando parâmetros nomeados em array associativo:
$result = DB::query("
SELECT p.id_produto, p.nome_produto, c.nome_categoria, p.preco, p.estoque
FROM produtos p
INNER JOIN categorias c ON c.id_categoria = p.id_categoria
WHERE p.preco >= :min_preco AND p.estoque >= :min_estoque
ORDER BY p.preco DESC
", [
"min_preco" => 100.00,
"min_estoque" => 10,
]);
// O DbPHP aceita tanto ['min_preco' => 100.0] quanto [':min_preco' => 100.0]
$tempo = $result->elapsedTime;
$total = $result->count;
$linhas = $result->rows;
[
{
"id_produto": 106,
"nome_produto": "Secador de Filamento",
"nome_categoria": "Acessório",
"preco": 299.9,
"estoque": 12
},
{
"id_produto": 105,
"nome_produto": "Resina 8K (Lançamento)",
"nome_categoria": "Insumo",
"preco": 180,
"estoque": 25
},
{
"id_produto": 107,
"nome_produto": "Sensor Nivelamento Auto",
"nome_categoria": "Peça",
"preco": 149,
"estoque": 20
},
{
"id_produto": 104,
"nome_produto": "Mesa PEI Texturizada",
"nome_categoria": "Peça",
"preco": 120,
"estoque": 15
}
]
id_cliente (INTEGER PK)nome_cliente (TEXT)uf (TEXT)cidade (TEXT)vip (INTEGER 0|1)saldo_credito (REAL)id_produto (INTEGER PK)id_categoria (INTEGER FK)nome_produto (TEXT)preco (REAL)estoque (INTEGER)pedidos.id_pedido (INTEGER PK)pedidos.id_cliente (INTEGER FK)pedidos.status (TEXT)itens_pedido.id_item (INTEGER PK)itens_pedido.qtd (INTEGER)itens_pedido.preco_unitario (REAL)