Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método query() ou prepare() e execute() ?

Geralmente, e diferentemente da aula, quando faço um SELECT usando PDO não uso o método query da classe. Geralmente faço o seguinte:


$sql1 = "SELECT * FROM produtos WHERE tipo = ?";
$statement = $pdo->prepare($sql1);
$statement->bindValue(1, "Café");
$statement->execute();
$produtosCafe = $statement->fetchAll(PDO::FETCH_ASSOC);

A minha dúvida é se estou fazendo o correto. Meu código está seguro? É uma boa prática? É obrigatório usar o método query da classe PDO?

1 resposta
solução!

Oii, a forma como você fez está correta. É uma boa prática sim.

Sobre o método query e o método prepare:

  • Quando você usa query, a consulta SQL é executada imediatamente.
  • Quando você usa prepare, você vai "preparar" uma consulta antes de enviá-la ao banco de dados, isso é útil para evitar ataques de SQL Injection, pois os parâmetros são tratados como dados separados da consulta SQL.

No exemplo do curso eu usei query em um cenário onde eu precisava realizar apenas uma busca ao banco, eu não precisaria passar nenhum parâmetro para esta consulta :)

Espero ter ajudado e bons estudos :)