Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2023

ProgramaçãoLinguagens de programação
Código
ce156197
Banca
CESPE / CEBRASPE
Órgão
MPE-RO
Ano
2023
Nível
Superior
Cargo
Analista de Sistemas
< ? php$ servername = " srv01 " ;$ username = " app " ;$ password = " senha " ;$ dbname = " cadastro " ;$ nomeCompleto = $_POST [ ' nome_completo ' ] ;$ sql = "INSERT INTO tabela_nomes ( nome ) VALUES ( ' $ nomeCompleto ' ) " ;$ conn = new mysqli ( $servername, $username, $password, $dbname);if ( $conn->connect_error) {die ( "erro " . $ conn->connect_error ) ; }if ( $conn->select ( $ sql ) === TRUE) { echo "Nome gravado com sucesso."; } else {echo "Erro ao gravar o nome: " . $ conn-> error ; }$ conn->quit ( );?>Tendo como base o código fonte precedente, assinale a opção correta.
  1. AA função select ($sql) executa uma consulta ao banco de dados.
  2. BAo receber o nomeCompleto, a execução do código não é capaz de inserir os dados informados no banco de dados.
  3. CA função quit( ) permite encerrar a conexão com o banco de dados.
  4. DA string de conexão com o banco de dados conecta a um banco de dados PostgreSQL.
  5. E$ conn representa os parâmetros de conexão com o banco de dados.
Revelar gabarito e comentário

GabaritoE — $ conn representa os parâmetros de conexão com o banco de dados.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PHP com mysqli – Análise de código

Gabarito: E. A única alternativa correta é a letra E, pois a variável $conn é um objeto da classe mysqli que representa a conexão com o banco de dados, encapsulando os parâmetros de conexão (servidor, usuário, senha e banco). As demais alternativas contêm erros conceituais ou de sintaxe.

O código apresentado contém vários erros típicos de quem está aprendendo PHP com mysqli. Vejamos cada alternativa.

Alternativa A – ❌ Incorreta

A função select($sql) não existe na classe mysqli. O método correto para executar uma consulta SQL (INSERT, SELECT, etc.) é query(). Portanto, a afirmação de que ela executa uma consulta é falsa.

Alternativa B – ❌ Incorreta

Embora o código contenha erros (método select() inexistente e quit() no lugar de close()), a afirmação de que não é capaz de inserir os dados é absoluta e, portanto, incorreta. Na verdade, se o método select() fosse substituído por query(), o código poderia inserir os dados. O banco de dados está corretamente configurado, e a string SQL é válida. O erro de nomenclatura não impede a inserção em si, apenas a execução do comando como está.

Alternativa C – ❌ Incorreta

O método quit() não existe na classe mysqli. O método correto para encerrar a conexão é close(). A afirmação é falsa.

Alternativa D – ❌ Incorreta

A string de conexão utiliza mysqli, que é a extensão para MySQL, não para PostgreSQL. Para conectar a um banco PostgreSQL, seriam necessárias funções como pg_connect() ou PDO com driver pgsql.

Alternativa E – ✅ Correta ⟵ GABARITO

A variável $conn recebe o objeto retornado por new mysqli(...). Esse objeto representa a conexão com o banco de dados, armazenando internamente os parâmetros fornecidos (servidor, usuário, senha, banco). Portanto, é correto afirmar que $conn representa os parâmetros de conexão (ou melhor, a conexão propriamente dita).

NÃO CAIA NESSA!

A banca troca métodos conhecidos por outros que não existem: select() (o correto é query()) e quit() (o correto é close()). Memorize os métodos da classe mysqli:

  • query() para executar SQL

  • close() para fechar a conexão

  • connect_error para verificar erro

  • error para obter mensagem de erro

Gabarito: letra E

Link permanente: /questoes/ce156197