Matemática Múltipla Escolha

Considere o fragmento de código PHP abaixo: A variável "$count" receberá:

Considere o fragmento de código PHP abaixo:

$dsn = new PDO("pgsql:host=".HOST."port=".PORT.":dbname=".DBNAME, "USER", "PASSWORD");
$count = $dsn->exec("DELETE FROM Produto WHERE nome = 'caneta'");

A variável "$count" receberá:

  1. o valor "true", caso o produto seja excluído com sucesso.
  2. uma cópia do registro a ser excluído, para exibição e confirmação da ação pelo usuário.
  3. o número de linhas excluídas da tabela pelo comando DELETE.
  4. o número 1 se o registro foi excluído ou 0 se ocorrer algum erro na exclusão, mesmo que tenha mais de um produto de nome caneta.
  5. o valor "false", caso o produto de nome caneta não esteja cadastrado.

Resolução completa

Explicação passo a passo

Resumo da resposta

Análise da Questão de PHP/PDO

Esta questão aborda o comportamento do método exec() no contexto da classe PDO (PHP Data Objects), uma ferramenta essencial para conexões seguras com bancos de dados em PHP.

No trecho de código apresentado, a linha $count = $dsn->exec("DELETE FROM Produto WHERE nome = 'caneta'"); realiza uma operação de exclusão direta no banco de dados.

Comportamento do Método exec()

O método PDO::exec() é utilizado para executar instruções SQL que não retornam um conjunto de resultados (como INSERT, UPDATE e DELETE). Diferente do método query(), que retorna um objeto PDOStatement, o exec() retorna diretamente um valor numérico.

  • Retorno: Ele retorna o número de linhas afetadas pela instrução SQL.
  • Cenário de Sucesso: Se o comando DELETE encontrar 3 registros com o nome 'caneta' e excluí-los, a variável $count receberá o valor 3.
  • Cenário de Nenhum Registro: Se nenhum registro corresponder ao critério (nome = 'caneta'), o número de linhas afetadas será 0.

## Análise das Alternativas

Para identificar a resposta correta, devemos avaliar cada opção com base na documentação oficial do PHP:

  • (A) Incorreta. O método não retorna valores booleanos (true/false) nem strings ("true").
  • (B) Incorreta. O método não retorna dados dos registros, apenas a contagem de impacto na tabela.
  • (C) Correta. Reflete exatamente a função do comando: informar quantas linhas foram removidas fisicamente da tabela.
  • (D) Incorreta. A afirmação de que retorna sempre 1 se o registro foi excluído é falsa; retorna o total de linhas encontradas e apagadas. Além disso, erros geralmente lançam exceções (a menos que o modo de erro esteja definido como ERRMODE_SILENT).
  • (E) Incorreta. Se o produto não estiver cadastrado, o comando roda sem problemas, mas afeta 0 linhas. O retorno é 0, não false.

Conclusão

A variável $count armazenará a quantidade exata de registros eliminados pela consulta SQL. Portanto, a alternativa que descreve corretamente esse comportamento é a C.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.