O código-fonte a seguir utiliza-se da extensão PDO (PHP Data...

Próximas questões
Com base no mesmo assunto
Q2770674 Arquitetura de Software

O código-fonte a seguir utiliza-se da extensão PDO (PHP Data Objects) para acessar e consultar uma base de dados em MySQL.

<?php

try {

$dbh = new PDO('mysql:host=localhost;dbname=sistema', 'root', '');

$perfil = $_GET['perfil'];

$status = $_GET['status'];

$stmt = $dbh->prepare("SELECT * FROM users WHERE perfil = ? AND status = ?");

$stmt->bindParam(1, $perfil, PDO::PARAM_INT);

$stmt->bindParam(2, $status, PDO::PARAM_STR);

$stmt->execute();

foreach($stmt->fetchAll() as $user) {

print_r($user);

}

} catch (PDOException $e) {

die("Erro ao conectar: " . $e->getMessage() . "<br/>");

}

?>

Sobre as funcionalidades do PDO utilizadas, analise as afirmações a seguir:


I. A utilização do método prepare() inviabiliza ataques via SQL Injection à consulta definida.

II. O comando $stmt->execute() poderia ser substituído por $stmt->query().

III. É possível utilizar também a interface procedural do PDO e não apenas a interface orientada a objetos.

IV. Para conectar a uma base de dados diferente do MySQL, basta alterar o DSN passado para o construtor da classe PDO.


É CORRETO o que se afirma em:

Alternativas