Questão nº 58

Questão de Tecnologia da Informação · FCC TJ-MA 2019 (nº 58)

FCC2019Técnico Judiciário - Técnico em Informática - SoftwareTecnologia da Informação
Gabarito: Aver comentário ↓

Considere a função abaixo existente em uma classe PHP em condições ideais.

public function inserir($User) {
    try {
        $conn = new PDO("mysql:host=localhost;dbname=dados", "root", "");
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO Usuarios(nome, usuario, senha) VALUES ('$User->Nome',
        '$User->Usuario','$User->Senha')";
        I;
        return 1;
    } catch (PDOException $e) {
        return $e->getCode();
    }
}

Para que a instrução INSERT seja executada corretamente, a indicação I deve ser substituída por:

Resposta comentada

Gabarito Alternativa A

PDO (PHP Data Objects) é uma extensão do PHP que fornece uma interface unificada para acessar bancos de dados. Para enviar comandos SQL que modificam dados (como INSERT, UPDATE, DELETE) e não esperam um conjunto de resultados, usamos um método específico do objeto de conexão.

(A) Correta: $conn->exec($sql) é o método do objeto PDO ($conn) usado para executar comandos SQL que não retornam resultados (como INSERT, UPDATE, DELETE), e ele retorna o número de linhas afetadas.
(B) Incorreta: fetch() é um método de um objeto PDOStatement (o resultado de um prepare() ou query()), usado para buscar linhas de um conjunto de resultados, e não para executar um INSERT diretamente no objeto de conexão. Armadilha: Esta alternativa tenta confundir o aluno com um método de busca de resultados (fetch) que é usado após a execução de consultas SELECT, e não para a execução de comandos de modificação de dados como INSERT.
(C) Incorreta: Em PHP, o operador para acessar membros (propriedades ou métodos) de um objeto é ->, não .. O . é usado para concatenar strings, resultando em um erro de sintaxe aqui.
(D) Incorreta: Não existe um método fetchExec() na classe PDO. É uma combinação inventada de nomes de métodos.
(E) Incorreta: Não existe um método createStatement() na classe PDO. O método para preparar uma instrução SQL (geralmente para consultas parametrizadas) é prepare(), que retorna um PDOStatement.

Fonte: FCC TJ-MA 2019 Técnico Judiciário - Técnico em Informática - Software (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho