Português Múltipla Escolha

Qual é a forma correta de conectar o PHP a um banco de dados MySQL?

Qual é a forma correta de conectar o PHP a um banco de dados MySQL?

  1. $conecta = mysql("HOST", "LOGIN", "SENHA") or print (mysql_error());
  2. $conecta = mysql_connect("HOST", "LOGIN", "SENHA") or print (mysql_error());
  3. $conecta = connect("HOST", "LOGIN", "SENHA") or print (error());
  4. $conecta = mysql_connect("HOST", "LOGIN", "SENHA") or print (error());
  5. $conecta = new MySQL("HOST", "LOGIN", "SENHA") or die (Mysql->error());

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - $conecta = mysql_connect("HOST", "LOGIN", "SENHA") or print (mysql_error());

A questão aborda a sintaxe clássica para estabelecer conexões entre PHP e bancos de dados MySQL utilizando a extensão procedural antiga. Embora essa função esteja obsoleta nas versões modernas do PHP, ela era o padrão em exames anteriores.

A função correta para conexão nesse contexto é mysql_connect(), que recebe como parâmetros o endereço do servidor, o usuário e a senha. Para tratamento de erro, utiliza-se a função específica mysql_error(), que retorna a mensagem da última falha ocorrida na conexão.

Análise Detalhada

Vamos verificar cada alternativa para entender os erros presentes nelas:

  • Alternativa A: Utiliza a função mysql(), que não existe na biblioteca padrão do PHP para conexões. O nome correto exige o sufixo _connect.
  • Alternativa B: Apresenta a sintaxe correta da época:
  • Usa mysql_connect() para abrir o link.
  • Usa mysql_error() para exibir mensagens de falha.
  • É a resposta esperada pelo edital de 2017.
  • Alternativa C: Utiliza uma função genérica chamada connect(), que não faz parte da linguagem PHP nativa.
  • Alternativa D: Embora utilize mysql_connect() corretamente, o manejo de erro está errado ao chamar error() em vez de mysql_error(). A função error() isoladamente não existe nesse escopo.
  • Alternativa E: Tenta usar Orientação a Objetos com a classe MySQL, que não existe. A classe correta seria mysqli ou PDO, e a sintaxe de acesso a propriedades também estaria incorreta (Mysql->error() sem instância).

Considerações sobre Modernização

É importante notar que a extensão mysql_* foi descontinuada no PHP 5.5 e removida no PHP 7.0 por questões de segurança. Em projetos atuais, recomenda-se utilizar:

  1. PDO (PHP Data Objects): Mais flexível e seguro.
  2. MySQLi (MySQL Improved): Versão moderna da extensão antiga, suportando tanto estilo procedural quanto orientado a objetos.

No entanto, para fins de resolução desta prova específica, a alternativa B representa a única sintaxe funcional entre as opções apresentadas.

Alternativa B.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Português

Ver mais Português resolvidas

Tem outra questão de Português?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.