This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Como conectar uma base de dados MySQL ao PHP usando MySQLi e PDO?

Updated on October 3, 2025

17 Min Read

Principais conclusões:

  • Conectar seu site PHP a um banco de dados MySQL é essencial para aplicações web dinâmicas. Este guia fornece instruções passo a passo tanto para o desenvolvimento local quanto para a hospedagem Cloudways, tornando o processo fácil de seguir.
  • Aprende a escolher entre MySQLi e PDO, a proteger a ligação à base de dados, a resolver erros comuns e a explorar ferramentas úteis de gestão do MySQL para simplificar o seu fluxo de trabalho.

Ligar uma base de dados MySQL ao teu site PHP pode ser um desafio, especialmente para principiantes. Para evitar erros, é fundamental garantir informações de login precisas e uma configuração adequada.

Mesmo depois de estabelecer uma ligação à base de dados PHP, a recuperação de dados ou a realização de alterações pode ser problemática. Além disso, as preocupações com a segurança e a proteção dos dados contra hackers estão sempre presentes.

Esta publicação fornece instruções passo a passo sobre dois métodos para conectar um banco de dados MySQL em servidores diferentes, atendendo a ambientes de servidor localhost e Cloudways.

Porque deves utilizar o MySQL?

O MySQL é uma escolha popular para a gestão de dados devido a vários factores-chave. O seu desempenho e escalabilidade excepcionais garantem um tratamento eficiente de transacções de grande volume e cargas de trabalho de leitura intensiva.

Além disso, a adoção generalizada do MySQL resultou num ecossistema rico. Isto traduz-se numa riqueza de recursos, tutoriais e plugins que simplificam a integração com várias linguagens de programação, estruturas e ferramentas.

A segurança é outro ponto forte do MySQL, com funcionalidades como a encriptação, a autenticação do utilizador e o controlo de acesso baseado em funções, que garantem a proteção dos dados. Além disso, as ferramentas incorporadas para a observabilidade da base de dados permitem aos programadores monitorizar e otimizar o desempenho de forma eficaz.

Ligar à base de dados MySQL em PHP

O PHP oferece três métodos principais para a ligação à base de dados MySQL:

  • MySQL (obsoleto devido a vulnerabilidades de segurança)
  • MySQLi
  • DOP

MySQLi e PDO são ativamente suportados e amplamente utilizados.

1. MySQLi

MySQLi, uma extensão PHP adaptada para bases de dados MySQL, foi lançada com o PHP 5.0.0. Suportando as versões 4.1.13 e posteriores do MySQL, oferece caraterísticas e funcionalidades melhoradas. MySQLi também oferece avanços em segurança, velocidade e flexibilidade.

Suporta estilos de programação procedimentais e orientados a objetos, facilitando a transição da antiga extensão mysql().

O MySQLi também inclui funcionalidades avançadas, como instruções preparadas e transacções, para maior segurança e desempenho.

2. PDO (Objectos de Dados PHP)

A extensão PHP Data Objects (PDO) actua como uma camada de abstração da base de dados, fornecendo uma Interface de Programação de Aplicação (API) consistente para interagir com vários tipos de bases de dados, incluindo MySQL, PostgreSQL, SQLite, entre outras.

Isto permite aos programadores alternar entre diferentes bases de dados sem alterações significativas no código.

O PDO suporta instruções preparadas, tratamento de erros e obtenção de dados em diferentes formatos. A sua portabilidade torna-o uma excelente escolha para projectos que possam necessitar de suporte futuro para vários tipos de bases de dados.

☀️ Oferta de verão: 30% de desconto + 15 migrações gratuitas

Hospede seus aplicativos PHP e MySQL na Cloudways neste verão e aproveite servidores otimizados, SSL gratuito, escalonamento automático e suporte especializado 24 horas por dia, 7 dias por semana. Começa de forma rápida e segura sem gerenciar seu próprio servidor.

Devo usar MySQLi ou PDO?

Tanto o MySQLi como o PDO são excelentes escolhas para a interação PHP-MySQL. A melhor escolha depende dos requisitos do projeto e das preferências de estilo de codificação.

  • MySQLi é ideal para projectos que trabalham exclusivamente com bases de dados MySQL. Fornece interfaces processuais e orientadas para objectos e suporta diretamente funcionalidades específicas do MySQL.
  • O PDO é mais adequado para projectos que possam necessitar de interagir com vários tipos de bases de dados, graças à sua API unificada.

Considerações sobre segurança: Tanto o MySQLi quanto o PDO, quando usados com instruções preparadas, protegem contra ataques de injeção de SQL.

Ao escolher entre MySQLi e PDO, considera o seguinte:

  • Utiliza o MySQLi para trabalho exclusivo do MySQL e preferência por uma API específica do MySQL.
  • Utiliza o PDO para potencial suporte de várias bases de dados ou para preferir uma interface consistente.

Como ligar o MySQL ao PHP?

Primeiro, vamos dar uma olhada nos passos gerais para estabelecer uma conexão PHP MySQL. Depois disso, veremos como conectar o PHP MySQL no Cloudways.

Passo 1: Instala as ferramentas necessárias

O que estás a fazer: Configura um ambiente de servidor local.

O que precisas:

  • XAMPP (Recomendado) – Um servidor local que inclui PHP, MySQL e Apache.
  • phpMyAdmin – Uma ferramenta de gestão de bases de dados MySQL baseada na Web (incluída no XAMPP).
  • Um editor de código – Como o VS Code, Sublime Text ou Notepad++.

Como instalar:

  • Transfere o XAMPP de Apache Friends.
  • Instala o XAMPP e inicia o Apache e o MySQL a partir do Painel de Controlo do XAMPP.

Instala o XAMPP e inicia o Apache e o MySQL a partir do Painel de Controlo do XAMPP.

Se vires indicadores verdes, tudo está a correr bem!

  • Abre o browser e vai a http://localhost/phpmyadmin/ para verificar se o MySQL está a funcionar.

vai para httplocalhostphpmyadmin

Passo 2: Cria uma base de dados MySQL

O que estás a fazer: Cria uma base de dados onde os nossos dados serão armazenados.

Onde fazer isto: PHPMyAdmin

  • Abre o teu browser e vai para localhost/phpmyadmin.
  • Clica em“Novo” na barra lateral esquerda.

cria uma nova base de dados no phpmyadmin

  • Introduz um nome de base de dados (por exemplo, prática).

Introduz um nome de base de dados (por exemplo, prática).

  • Seleciona o agrupamento utf8_general_ci (isto assegura a codificação correta dos caracteres).
  • Clica em“Criar“.

cria uma base de dados

A nossa base de dados está agora configurada, mas neste momento está vazia. Teremos de corrigir isso.

Passo 3: Criar uma pasta de projeto

O que estamos a fazer: Configurando uma pasta para armazenar nossos arquivos de projeto PHP.

Onde fazer isso: XAMPP htdocs ou WAMP www

  • Navega para a tua pasta de instalação do XAMPP ou WAMP.
  • Abre a pasta htdocs (para XAMPP) ou www (para WAMP). Estou a usar o XAMPP, por isso vou abrir a pasta htdocs.

Abre os htdocs (para o XAMPP)

  • Cria uma nova pasta chamada practice. É aqui que vão ficar todos os ficheiros do projeto.

Cria uma nova pasta em htdocs

Passo 4: Cria um ficheiro de ligação à base de dados

O que estás a fazer: Escreve código PHP para se conectar ao MySQL.

Utiliza o MySQLi:

  • Dentro da pasta de prática, cria um novo arquivo chamado db_connection.php. Certifica-se de que a extensão do arquivo seja .php, e não .txt. Para verificar, clique em Exibir no menu superior e ative Extensões de nome de arquivo (se estiver usando o Windows).

cria um novo ficheiro chamado db_connection

  • Abre-o num editor de texto (por exemplo, VS Code, Sublime Text, Notepad++). Eu vou usar o VS Code.

abre o ficheiro db_connection em qualquer editor de texto

  • Adiciona o seguinte código:
<?php

função OpenCon() {

$dbhost = "localhost";

$dbuser = "root";

$dbpass = ""; // A predefinição está vazia para o XAMPP

$dbname = "practice";

$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

se ($conn->connect_error) {

morre("A ligação falhou: " . $conn->connect_error);

}

devolve $conn;

}

função CloseCon($conn) {

$conn->close();

}

?>

adiciona código à ligação db_connection

Repara que também adicionei o tratamento de erros, por isso, se houver um problema, ele será apresentado: A ligação falhou: mensagem de erro.

Utiliza o DOP (método alternativo):

<?php

função OpenCon()

{

$dbhost = "localhost";

$dbuser = "root";

$dbpass = ""; // A predefinição está vazia para o XAMPP

$dbname = "practice";

tenta {

$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

morre ("A ligação falhou: " . $e->getMessage()); 

}

devolve $conn;

}

função CloseCon($conn)

{

$conn = null;

}

?>

Também adicionei aqui o tratamento de erros, utilizando o try-catch para tratar as falhas de ligação de forma mais graciosa.

Passo 5: Cria um ficheiro de índice para testar a ligação

O que estás a fazer: Verifica se a nossa ligação à base de dados funciona.

  • Dentro da pasta de prática, cria um novo ficheiro com o nome index.php. Mais uma vez, certifica-te de que o teu ficheiro não é guardado como index.php.txt.
  • Abre-o num editor de texto e adiciona o seguinte código:

Para MySQLi:

<?php

inclui 'db_connection.php';

$conn = OpenCon();

se ($conn instanceof mysqli) {

echo "Ligou-se com sucesso usando MySQLi";

} else {

echo "Tipo de ligação inesperado.";

}

FechaCon($conn);

?>

Para o DOP:

<?php

inclui 'db_connection.php';

$conn = OpenCon();

se ($conn instanceof PDO) {

echo "Ligou-se com sucesso usando PDO";

} else {

echo "Tipo de ligação inesperado.";

}

FechaCon($conn);

?>

Este código que acabámos de escrever inclui o nosso ficheiro de ligação à base de dados e imprime “Connected Successfully” (Ligado com sucesso) se tudo funcionar.

Passo 6: Testa a ligação

O que estás a fazer: Executa o script PHP em um navegador.

Onde fazer isto: Navegador da Web

  • Abre o teu browser e acede a: http://localhost/practice/index.php
  • Se tudo estiver configurado corretamente, verás: “Ligado com sucesso”.

Mensagem Connected Successfully no localhost

  • Se houver um problema, verifica a mensagem de erro e verifica as definições do ficheiro db_connection.php.

Uma vez que recebemos a mensagem Connected Successfully (Ligado com sucesso) no nosso ecrã, ligámos com sucesso a nossa base de dados ao nosso localhost.

Se seguiste este guia com atenção, deves ter reparado que não defini uma palavra-passe quando criei o ficheiro db_connection.php.

O código é escrito da seguinte forma:

$dbpass = ""; // A predefinição está vazia para o XAMPP

Embora isto funcione para o desenvolvimento local no XAMPP, é importante definir uma palavra-passe forte por razões de segurança quando implementares o teu projeto online.

Então, agora, vamos abordar isso…

Passo 7: Protege a tua base de dados (opcional mas recomendado)

O que estás a fazer: Adiciona uma palavra-passe para segurança.

Como fazer isto:

  1. No PHPMyAdmin, vai a“User Accounts” (Contas de utilizador).
  2. Clica em“Edit Privileges” (Editar privilégios) para o utilizador root.
  3. Define uma palavra-passe forte.
  4. Actualiza o teu ficheiro db_connection.php com a nova palavra-passe. Tal como te mostrei anteriormente, podes fazer isto indo a C:\xampp\htdocs\practice e substituindo o ficheiro db_connection.php antigo pelo novo ficheiro.

Este é o código atualizado com a palavra-passe que podes utilizar:

<?php

função OpenCon()

{

$dbhost = "localhost";

$dbuser = "root";

$dbpass = "1234"; // Altera isto se tiveres definido uma palavra-passe

$dbname = "practice";

$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

se ($conn->connect_error) {

morre("A ligação falhou: " . $conn->connect_error);

}

devolve $conn;

}

função CloseCon($conn)

{

$conn->close();

}

?>

Nota: A palavra-passe que definiste no phpMyAdmin em “Editar privilégios” para o utilizador root deve corresponder à palavra-passe no teu ficheiro db_connection.php.

Se não corresponderem, o teu script PHP não conseguirá ligar-se ao MySQL e verás um erro de autenticação como este:

Acesso negado ao utilizador ‘root’@’localhost’ (utilizando a palavra-passe: YES)

E é tudo. Agora também adicionaste uma palavra-passe à tua ligação à base de dados.

Como criar uma base de dados MySQL na Cloudways?

Para criar um banco de dados MySQL em Cloudways e conectá-lo ao seu aplicativo PHP, você pode SSH em seu servidor ou usar um cliente FTP para simplesmente carregar seus arquivos PHP. (Certifica-se de que você está usando nossa hospedagem web PHP para isso)

Para este tutorial, vou usar a abordagem FTP. Vou usar o FileZilla, mas podes usar qualquer cliente FTP que gostes para estabelecer uma ligação à base de dados PHP.

Agora que já conheces os pré-requisitos, vamos começar…

Etapa 1: acessar sua plataforma Cloudways

Para este tutorial, vou assumir que já tens uma aplicação PHP instalada no servidor Cloudways.

  • Inicia sessão na tua contaCloudways:
  • Depois de iniciares sessão, serás levado para o Painel de controlo.

Painel de controlo da Cloudways

  • Clica no separador Ver todos os servidores para aceder ao servidor no qual a tua aplicação PHP está implementada.

Clica em Ver todos os servidores no painel de controlo da cloudways

  • Clica no servidor em que a tua aplicação PHP está implementada.

Clica no servidor em que a tua aplicação PHP está implantada

  • No separador Credenciais principais, podes ver o teu IP público, nome de utilizador e palavra-passe. Vais precisar deles para acederes ao teu servidor através de SSH ou FTP.

Separador Credenciais principais na plataforma cloudways

Passo 3: Aceder aos ficheiros do teu servidor através de SSH ou FTP

  • No separador Credenciais principais, desloca-te para baixo e clica em Iniciar terminal SSH para te ligares através de SSH ou utilizares um cliente FTP como o FileZilla.
  • Como estou a utilizar o FileZilla, tenho de iniciar sessão no meu servidor utilizando as minhas credenciais principais.
    • Para o Host, vou usar o IP público do meu servidor.
    • Nome de utilizador – como fornecido nas credenciais principais.
    • Palavra-passe – como fornecida em Credenciais principais.
    • Porto – 22

liga-te ao servidor usando o FileZilla

  • Quando estiveres dentro do teu servidor, navega para a pasta public_html, que é onde devem residir os ficheiros principais da tua aplicação. Exemplo de caminho: /home/master/applications/practice/public_html/.

navega até à pasta public_html

Como podes ver, já existe um ficheiro index.php na nossa pasta public_html.

Passo 4: Cria o ficheiro db_connection.php

  • Agora, cria um novo ficheiro. Nomeia o arquivo como db_connection.php. Certifica-te de que a extensão é .php. Não posso enfatizar isso o suficiente.

Cria o ficheiro db_connection.php

  • Adiciona o seguinte código PHP ao ficheiro:

Para MySQLi (Procedural)

<?php

$servername = "your-database-host"; // Tipicamente 'localhost' para Cloudways MySQL

$username = "your-db-username"; // O teu nome de utilizador da base de dados MySQL (encontrado na Cloudways)

$password = "your-db-password"; // A tua palavra-passe da base de dados MySQL (encontrada na Cloudways)

$db = "your-database-name"; // O nome da tua base de dados

// Cria uma ligação

$conn = mysqli_connect($servername, $username, $password, $db);

// Verifica a ligação

se (!$conn) {

morre ("A ligação falhou: " . mysqli_connect_error()); 

}

ecoa "Ligado com sucesso";

?>
  • Certifica-te de que adicionas ao código os detalhes de acesso reais da tua aplicação. Assim, substitui:
    • $servername = “your-database-host”;
    • $username = “your-db-username”;
    • $password = “your-db-password”;
    • $db = “your-database-name”;

Para “servername”, utiliza o IP público do teu servidor. Para o resto, vê a imagem abaixo para maior clareza.

aceder aos detalhes da tua aplicação na cloudways

Para o DOP

<?php
função OpenCon() {
  $dbhost = "your-cloudways-mysql-host";
  $dbuser = "o teu nome de utilizador da base de dados";
  $dbpass = "a tua palavra-passe-db";
  $dbname = "your-db-name";

  tenta {
  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  } catch (PDOException $e) {
  morre ("A ligação falhou: " . $e->getMessage()); 
  }

  devolve $conn;
}

função CloseCon($conn) {
  $conn = null;
}
?>
  • Agora, coloca o ficheiro dentro da pasta public_html utilizando o FileZilla.

ficheiro index.php no filezilla

Passo 5: Testa a ligação

  • Agora, cria outro ficheiro PHP (por exemplo, index.php) na mesma pasta public_html para testar a ligação à base de dados PHP. Substitui o arquivo existente.
  • Edita o index.php e adiciona o seguinte código para testar se a ligação está a funcionar:
<?php

include 'db_connection.php'; // Inclui o ficheiro de ligação à base de dados

echo "Connected Successfully"; // Se a ligação funcionar, aparece esta mensagem

mysqli_close($conn); // Fecha a ligação após a utilização

?>
  • Em seguida, no teu browser, vai para o URL da tua aplicação. Por exemplo: http://your-app-name.cloudwaysapps.com/index.php. Podes encontrar o URL da tua candidatura em Detalhes de acesso , em URL da candidatura.

encontra o URL da tua aplicação em Detalhes de acesso, em URL da aplicação

  • Se tudo estiver configurado corretamente, deverás ver:“Ligado com sucesso“.

Mensagem Connected Successfully após ligação bem sucedida do php e mysql em cloudways

E pronto! Nosso aplicativo PHP agora está conectado com sucesso ao nosso banco de dados MySQL no Cloudways. Também podes usar o alojamento de servidor dedicado WordPress oferecido pela Cloudways, para uma integração perfeita com o MySQL.

Aloja sites PHP com facilidade [A partir de $11 de crédito]

  • Encenação gratuita
  • Backup gratuito
  • PHP 8.3
  • Websites ilimitados

TESTE AGORA

3 melhores ferramentas de gestão MySQL em 2025

Gerir uma base de dados MySQL pode ser um desafio, mas as ferramentas corretas simplificam o processo. Quer sejas um programador, administrador de base de dados ou profissional de TI, uma ferramenta de gestão MySQL fiável pode poupar tempo e ajudar a evitar erros dispendiosos. Três das melhores opções disponíveis são descritas abaixo.

1. DBeaver

dbeaver Ferramenta de Gestão MySQL

DBeaver é uma ferramenta multifacetada de gestão de bases de dados compatível com MySQL e várias outras bases de dados. O seu design facilita uma interface de fácil utilização, ao mesmo tempo que incorpora funcionalidades avançadas para profissionais. DBeaver é normalmente utilizado em ambientes de desenvolvimento e suporta vários sistemas operativos, o que o torna uma opção flexível tanto para equipas como para indivíduos.

Caraterísticas principais:

  • Editor SQL avançado com preenchimento automático, realce de sintaxe e verificação de erros.
  • Construtor de consultas visuais para uma criação intuitiva de consultas.
  • Importação e exportação de dados em vários formatos.
  • Geração de diagramas ER para modelação de bases de dados.
  • Suporte multiplataforma para Windows, macOS e Linux.

Prós:

  • Interface intuitiva e fácil de utilizar.
  • Suporta vários tipos de bases de dados para além do MySQL.
  • Actualizações regulares e apoio ativo da comunidade.

Contras:

  • Algumas funcionalidades avançadas podem exigir uma curva de aprendizagem para novos utilizadores.
  • O desempenho pode ser afetado quando lida com bases de dados muito grandes.

2. MySQL Workbench

mysql workbench Ferramenta de gestão MySQL

O MySQL Workbench, desenvolvido pela Oracle, é uma ferramenta abrangente para conceber, desenvolver e gerir bases de dados MySQL. É a opção preferida dos programadores que necessitam de um ambiente integrado para modelação de bases de dados, desenvolvimento de SQL e otimização do desempenho. As suas ferramentas de monitorização incorporadas permitem aos utilizadores gerir bases de dados de forma eficiente e controlar a saúde do servidor.

Caraterísticas principais:

  • Ferramentas de modelação de dados para criar diagramas ER complexos.
  • Editor SQL avançado com funcionalidades como o preenchimento automático e o realce da sintaxe.
  • Ferramentas de administração de servidores para gestão de utilizadores, cópias de segurança e configuração.
  • Ferramentas de monitorização do desempenho e de otimização de consultas.
  • Disponibilidade multiplataforma no Windows, macOS e Linux.

Prós:

  • Conjunto abrangente de funcionalidades adaptadas ao MySQL.
  • A integração direta com as bases de dados MySQL garante a compatibilidade.
  • Actualizações regulares e suporte da Oracle.

Contras:

  • Pode consumir muitos recursos, o que pode causar problemas de desempenho em sistemas de gama baixa.
  • Alguns utilizadores relatam problemas ocasionais de estabilidade.

3. Navicat para MySQL

Ferramenta de gestão MySQL navicat

O Navicat for MySQL é uma ferramenta gráfica concebida para gerir bases de dados MySQL e MariaDB. Oferece uma interface de fácil utilização combinada com funcionalidades avançadas, tornando-a adequada tanto para principiantes como para profissionais experientes.

Caraterísticas principais:

  • Ferramentas de modelação e conceção de dados para criar e visualizar estruturas de bases de dados.
  • Editor SQL avançado com funcionalidades como a conclusão de código e snippets.
  • Funcionalidades de sincronização de dados e de cópia de segurança.
  • Importar e exportar capacidades que suportam vários formatos de ficheiros.
  • Suporte para bases de dados na nuvem, como Amazon RDS e Google Cloud.

Prós:

  • Interface de utilizador intuitiva e fácil de utilizar.
  • Ligação eficiente a bases de dados MySQL através de túneis SSH e HTTP.
  • Capacidades de agendamento para tarefas automatizadas, como cópias de segurança e relatórios.
  • Suporte multiplataforma para Windows, macOS e Linux.

Contras:

  • Software comercial com um preço relativamente elevado.
  • Alguns utilizadores podem considerá-lo mais lento do que outras ferramentas, especialmente quando se trata de grandes bases de dados.

Lança a tua aplicação PHP & MySQL no Cloudways Drupal Hosting

Hospeda o Drupal no Cloudways Managed Hosting para obter um desempenho imbatível, escalabilidade e facilidade de uso!

Como solucionar erros comuns do MySQL?

1. Erro de palavra-passe incorrecta

Um dos problemas mais comuns ocorre quando as credenciais da base de dados no teu script PHP não correspondem aos detalhes de início de sessão reais.

Se vires uma mensagem de erro como “Acesso negado” ou “Não foi possível ligar à base de dados”, seguida de “(utilizando a palavra-passe: SIM)”, o problema é provavelmente uma palavra-passe incorrecta.

Como resolver o problema:

  • Verifica novamente o nome de utilizador, a palavra-passe e o nome da base de dados no teu script PHP.
  • Certifica-te de que estas credenciais correspondem às que estão armazenadas na tua base de dados.
  • Se alteraste recentemente a palavra-passe, actualiza o teu script PHP em conformidade.

2. Não consegues ligar-te ao servidor MySQL

Se encontrares um erro como “Can’t connect to MySQL server on ‘server’ (110)” (Não é possível ligar ao servidor MySQL em ‘servidor’ (110)) quando usas o MySQLi, isso indica que o script não consegue chegar ao servidor MySQL.

No PDO, o erro pode ter o seguinte aspeto:

A ligação falhou: SQLSTATE[Hy000] [2002] Não existe tal ficheiro ou diretório

Este problema ocorre frequentemente quando o nome do anfitrião está incorreto ou o servidor MySQL não está a funcionar.

Como resolver o problema:

  • Se a tua base de dados estiver alojada no mesmo servidor que o teu script, utiliza “localhost” em vez de um domínio ou IP remoto.
  • Verifica se o serviço MySQL está a funcionar. Se tiveres acesso SSH, podes verificar isto executando:systemctl status mysql
  • Se a tua base de dados estiver alojada remotamente, confirma que a firewall do servidor não está a bloquear as ligações.

3. Erro de demasiadas ligações

Ver um
Demasiadas ligações
significa que o servidor MySQL atingiu o limite de conexões ativas.

Como resolver o problema:

  • Aguarda alguns minutos e tenta novamente, pois algumas ligações podem fechar automaticamente.
  • Optimiza as tuas consultas para reduzir as ligações desnecessárias.

Se tiveres controlo sobre o servidor, aumenta as ligações permitidas modificando o teu ficheiro de configuração do MySQL(my.cnf ou my.ini):

max_connections = 500

4. Erro de base de dados desconhecido

Se vires “Base de dados desconhecida ‘nome_da_base_de_dados'”, significa que a base de dados a que estás a tentar ligar não existe.

Como resolver o problema:

  • Verifica se o nome da base de dados no teu script PHP corresponde ao nome real da base de dados.
  • Usa o
    phpMyAdmin
    ou a linha de comando para verificar se a base de dados existe:

MOSTRA AS BASES DE DADOS;

Se a base de dados estiver em falta, poderás ter de a recriar:

CREATE DATABASE nome_da_base_de_dados;

5. Erro de tabela inexistente

Se receberes um erro como “A tabela ‘nome_da_base_de_dados.nome_da_tabela’ não existe”, significa que o MySQL não consegue encontrar a tabela que estás a tentar utilizar.

Como resolver o problema:

  • Verifica novamente a ortografia do nome da tabela nas tuas consultas.
  • Executa este comando para verificar se a tabela existe:SHOW TABLES FROM database_name;
  • Se a tabela foi eliminada acidentalmente, restaura-a a partir de uma cópia de segurança.

6. Erro de sintaxe em consultas SQL

Se vires “Tens um erro na tua sintaxe SQL”, é provável que haja um erro na tua consulta.

Como resolver o problema:

  • Revê cuidadosamente a tua sintaxe SQL. Aspas em falta, espaçamento incorreto ou comandos mal colocados podem causar problemas.
  • Testa a tua consulta no phpMyAdmin ou na linha de comandos MySQL para veres mensagens de erro detalhadas.
  • Se a consulta for construída dinamicamente em PHP, faz eco dela antes da execução para verificar se há erros:echo $query;

7. O servidor MySQL foi-se embora

Se encontrares a mensagem “O servidor MySQL desapareceu”, isso significa que a ligação se perdeu devido a inatividade ou a uma grande consulta.

Como resolver o problema:

  • Se estiveres a executar consultas longas, aumenta a definição max_allowed_packet no ficheiro de configuração do MySQL(my.cnf ou my.ini).
  • Se o servidor não funcionar devido a inatividade, ajusta a definição wait_timeout.

8. Incompatibilidade de agrupamento ou de conjunto de carateres

Os erros relacionados com o agrupamento ou os conjuntos de caracteres podem fazer com que as consultas falhem, especialmente se a base de dados e as tabelas utilizarem codificações diferentes.

Como resolver o problema:

Verifica as definições de agrupamento da tua base de dados e das tabelas:

SHOW CREATE TABLE nome_da_tabela;

Se necessário, converte o agrupamento das tuas tabelas para corresponder:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

9. Verifica sempre o registo de erros

Se estiveres preso, o teu
registo de erros
pode fornecer-te pistas úteis. Normalmente, o registo encontra-se na mesma pasta que o teu script. Se o teu script for executado dentro de public_html, verifica:

A leitura do registo de erros pode poupar tempo e ajudar a identificar rapidamente os problemas.

Resumo

Muitos principiantes enfrentam desafios quando estabelecem uma ligação à base de dados PHP com o MySQL.

Neste guia, abordei dois métodos para conectar um banco de dados MySQL ao seu site PHP, com instruções claras para ambientes de servidor localhost e Cloudways. Também destaquei as três melhores ferramentas de gerenciamento do MySQL para simplificar a administração do banco de dados.

Analisei as principais diferenças entre o MySQLi e o PDO, para que possas escolher a ferramenta certa para o teu projeto. Além disso, compartilhei dicas essenciais de solução de problemas para resolver problemas comuns de conexão.

Se tiveres alguma dúvida, não hesites em perguntar nos comentários abaixo.

Perguntas frequentes

Q. Como é que verifico se o MySQL está a funcionar?

Para verificar se o MySQL está em execução, segue estes passos:

  • Abre um terminal ou uma linha de comandos.
  • Executa o comando mysqladmin -u root -p status. Ele pedirá a sua senha de root e retornará o status do servidor MySQL.
  • Em alternativa, podes verificar através de um cliente MySQL ou de uma interface baseada na Web, como o phpMyAdmin, para verificar o estado do servidor.

Q. Como posso encontrar a porta do meu servidor local para o MySQL?

Por padrão, o MySQL é executado na porta 3306. Para verificar a porta:

  1. Verifica o ficheiro de configuração do MySQL (my.cnf ou my.ini).
  2. Procura a linha port=3306 na secção [mysqld].
  3. Se tiveres uma configuração personalizada, poderás ter de verificar os registos do servidor Web ou do MySQL.

Q. Porque é que não consigo ligar-me ao MySQL com o PHP?

Se não conseguires ligar-te ao MySQL com o PHP, o problema pode ser:

  • Credenciais incorrectas da base de dados (nome de utilizador, palavra-passe).
  • O serviço MySQL não está a funcionar.
  • Firewall bloqueando a porta MySQL (padrão 3306).
  • Endereço de anfitrião incorreto (utiliza localhost ou 127.0.0.1).
  • Usa métodos de conexão obsoletos como mysql_connect(). Muda para mysqli_connect() ou PDO para melhor compatibilidade e segurança.

Q. Podemos utilizar PHP e MySQL em conjunto?

Sim, o PHP e o MySQL são normalmente utilizados em conjunto para criar sítios Web dinâmicos e orientados para os dados. O PHP actua como a linguagem de script do lado do servidor, enquanto o MySQL trata da gestão da base de dados. Podes ligar facilmente o PHP ao MySQL utilizando funções como mysqli_connect() ou PDO.

Q. O mysql_connect ainda é utilizado?

Não, mysql_connect() está obsoleta e não é mais suportada no PHP 7.0 e superior. É recomendado que uses mysqli_connect() ou PDO para conectar a bases de dados MySQL. Essas alternativas oferecem melhor segurança, desempenho e funcionalidade.

Q. O que é mysql_connect em PHP?

mysql_connect() era uma função do PHP usada para estabelecer uma conexão com uma base de dados MySQL. Ela foi descontinuada em versões recentes do PHP. Para versões modernas do PHP, mysqli_connect() ou PDO são as funções recomendadas para conexões com bases de dados MySQL.

Q. Que função é utilizada para ligar o MySQL em PHP?

A função normalmente utilizada para ligar o MySQL em PHP é mysqli_connect(). Outra opção é PDO (PHP Data Objects), que é mais flexível e funciona com múltiplas bases de dados. Ambas são preferíveis à função obsoleta mysql_connect().

Share your opinion in the comment section. COMMENT NOW

Share This Article

Abdul Rehman

O Abdul é um profissional de marketing experiente em tecnologia, movido a café e criativo, que adora manter-se a par das últimas actualizações de software e gadgets tecnológicos. É também um escritor técnico competente que consegue explicar conceitos complexos de forma simples para um público alargado. Abdul gosta de partilhar os seus conhecimentos sobre a indústria da nuvem através de manuais de utilizador, documentação e publicações em blogues.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Quer experimentar a plataforma Cloudways em todo o seu esplendor?

Faça um tour guiado GRATUITO pela Cloudways e veja por si mesmo como é fácil gerenciar seu servidor e suas aplicações na principal plataforma de hospedagem em nuvem.

Iniciar mi recorrido