Questão de Arquitetura de Software — Software — PUC-PR 2016
Arquitetura de SoftwareSoftware
- Código
- qq226203
- Banca
- PUC-PR
- Órgão
- Paranacidade - PR
- Ano
- 2016
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação I
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.<?phptry {$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:
- AIV, apenas.
- BI e IV, apenas.
- CII e III, apenas.
- DI, II e IV, apenas.
- EI, II, III e IV.