FC ConcursosFC Concursos

Questão FC373382

Considere o fragmento de código abaixo, que é parte de uma página construída em um ambiente PHP ideal, com todos os recursos disponíveis. $servername = "localhost"; $username = "se

Desenvolvimento Web

FCC · 2019

Considere o fragmento de código abaixo, que é parte de uma página construída em um ambiente PHP ideal, com todos os recursos disponíveis.


$servername = "localhost";
$username = "semef";
$password = "1b3Z";
$dbname = "tributario";
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "UPDATE Contribuinte SET nome='Paulo' WHERE id=1";
    ..I..
    echo "Operação realizada com sucesso";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }
$conn = null;


Considerando o uso de PHP Data Objects, para que o comando UPDATE seja executado corretamente a lacuna I deve ser preenchida com

  1. mysqli_query($conn, $sql);
  2. $conn.execute($sql);
  3. $st = $conn.prepare($sql);    $st.exec();
  4. $conn->query($sql);
  5. $st = $conn->prepare($sql);    $st->execute();
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A instrução correta utiliza prepare seguida de execute: prepared statements em PDO funcionam assim. O método prepare recebe a string SQL e devolve um objeto PDOStatement, que representa a consulta pronta para execução.

Ao chamar execute sobre esse objeto, o comando SQL é enviado ao SGBD e executado. Mesmo sem parâmetros dinâmicos, esse padrão garante execução correta e compatível com a API do PDO.

Além disso, usar prepare/execute traz benefícios: melhor organização do código, possibilidade de reaproveitar a mesma declaração e comportamento previsível quanto ao tratamento de erros quando a conexão está com PDO::ERRMODE_EXCEPTION.

Portanto, preencher a lacuna com $st = $conn->prepare($sql); $st->execute(); é a forma adequada e idiomática de executar o UPDATE usando PDO.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo