Banco de dados MySQL PHP Tutoriais

Guia para aprender como conectar PHP com MySQL

drago vai ensinar como conectar php com mysql

Esse tutorial vai ser bem útil se você está começando a aprender sobre o desenvolvimento de sites. Usando este tutorial, você vai aprender a como conectar PHP com MySQL. Mas não sabe exatamente por que você precisa disso? Simples: é com esse recurso que você pode modificar, ver, apagar e gerenciar suas tabelas criadas de qualquer outra forma. 

Vamos começar!

O que você vai precisar 

Antes de começar esse guia, você vai precisar do seguinte:

  • Acesso ao painel de controle da sua hospedagem de sites

Passo 1 – Criando um banco de dados MySQL

Esse passo é necessário apenas se você já não tiver criado um banco de dados MySQL. Na Hostinger, um banco de dados MySQL pode ser criado facilmente na seção Banco de Dados > Banco de Dados MySQL. acessando hpanel para saber como conectar php com mysql

Já dentro da seção Banco de dados MySQL, insira os detalhes pedidos e aperte em Criar.  detalhes de usuário e senha do banco de dados para saber como conectar php com mysql

IMPORTANTE: Anote os detalhes do banco de dados MySQL que você acabou de criar. Você vai precisar deles no próximo passo.

Passo 2 – Como conectar PHP com MySQL escrevendo códigos PHP

No exemplo que vamos usar, vamos nos conectar a um banco de dados com o nome u266072517_name. Esse nosso banco de dados tem um usuário associado chamado u266072517_user. Você também deve ter uma senha para o banco de dados. No nosso exemplo, a senha será buystuffpwd.

Outra coisa importante de mencionar é que você deve ter um servername e um hostname corretos. Na Hostinger, o hostname do MySQL pode ser encontrado na seção Banco de dados MySQL. No nosso exemplo, ele é chamado de mysql.hostinger.com.

IMPORTANTE: Em muitos casos, quando você está se conectando a um banco de dados localmente (o script que está se conectando a um banco de dados é enviado ao servidor em que o banco de dados existe), você pode usar o localhost. Se isso não funcionar, ou se você está se conectando a um banco de dados de um local remoto (por exemplo, o seu computador), você precisa usar o endereço de IP do seu servidor. Para mais detalhes, contacte o seu provedor de hospedagem para que ele forneça a você a informação correta sobre qual hostname usar.

Existem dois métodos de se conectar a um banco de dados SQL com o PHP – eles são o MySQLi e o PDO. Uma das mudanças mais importantes entre eles é que eles têm suporte a “declarações separadas”, que remove a capacidade de ataques ao SQL quando você fizer alterações no banco de dados. As funções originais do “mysql_” estão obsoletas e não deveriam ser usadas porque são inseguras e não são mais mantidas ou atualizadas por desenvolvedores.

MySQLi significa MySQL Improved e adiciona novas funcionalidades à interface do MySQL. Já o PDO significa PHP Data Object. A principal diferença entre eles é que o PDO tem suporte a vários tipos de bancos de dados (MySQL, MS SQL, Postgre DB) no mesmo script. No entanto, você só pode gravar funções relacionadas a dados uma só vez. O PDO é “orientado a objetos”, em que a conexão ao banco de dados é criada pela criação de um objeto variável. Exemplo de criação de um novo objeto:

$my_Object = new OBJECT();

 

MySQLi

Aqui está um exemplo de código PHP básico que pode ser usado para estabelecer uma conexão com um banco de dados MySQL usando o MySQLi.

<?php
$servername = "mysql.hostinger.com";
$database = "u266072517_name";
$username = "u266072517_user";
$password = "buystuffpwd";

// Create connection

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

// Check connection

if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}
echo "Connected successfully";
mysqli_close($conn);
?>

Esse método principal usado no script acima é o mysqli_connect(). Esta é uma função interna do PHP. E você pode ler mais sobre ela aqui.

Bem no começo do nosso código, podemos ver algumas declarações de variáveis e ​valores atribuídos a essas variáveis. Normalmente, precisamos de quatro variáveis para estabelecer uma conexão: $servername, $database, $username e $password.

No código, nós definimos os detalhes exatos do banco de dados como valores para essas variáveis e, posteriormente, na função mysqli_connect() usamos essas mesmas variáveis para passar para a função.

No próximo passo está a função mysqli_connect(), que tenta estabelecer uma conexão com um banco de dados com os detalhes fornecidos. A próxima parte do código é executada com base no sucesso da função mysqli_connect(). Como você pode ver, definimos que, se a conexão não for bem sucedida, ela vai nos dar a mensagem:

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

Uma função die() é executada aqui, o que basicamente mata nosso script e nos dá a mensagem que tínhamos definido antes. Então, por padrão, ela informará Connection failed: e uma mensagem exata de erro será exibida para nos ajudar a determinar o problema.

Se a conexão for bem sucedida, a próxima parte do código será executada:

echo "Connected successfully";

Isso vai simplesmente mostrar uma mensagem de sucesso em vez da mensagem anterior, uma vez que a declaração IF é desencadeada com base numa condição de falha.

A última parte do código é:

mysqli_close($conn);

Esse código vai simplesmente fechar a conexão com o banco de dados manualmente. Se não for especificado, a conexão vai fechar sozinha quando o script terminar. Você pode usar essa mesma linha para fechar a conexão antes do final do script.

PDO

Uma conexão com banco de dados PDO exige que você crie um novo “objeto PDO” com um DSN (Data Source Name), além de um nome de usuário e senha. O DSN define o tipo do banco de dados, o nome do banco de dados e qualquer outra informação necessária.

O DSN pode ser uma variável simples que é então usada como parâmetro para criar um objeto PDO, como mostramos no código abaixo.

O PDO tem suporte a múltiplos tipos de bancos de dados e o DSN é onde você define as conexões alternativas, substituindo a linha “mysql:” com a sintaxe para o outro banco de dados. Em um script real, você permite ao usuário escolher qual conexão é usada e escrever o código que escolhe a variável DSN requerida. Para este tutorial, estamos usando apenas o MySQL.  

Quando estiver criando o objeto PDO que representa a conexão com o banco de dados, você pode incluí-lo no código “try…catch…”. Isso significa que o script vai tentar se conectar ao código fornecido e, se houver um problema, o código na seção “catch” será executado.

Você pode usar o bloco “catch” para exibir mensagens de erro ou executar códigos alternativos se a tentativa falhar. Neste exemplo, uma mensagem de erro simples é mostrada para dizer a você qual pedaço da informação estava incorreta.

<?php
$servername = "mysql.hostinger.com";
$username = "u266072517_user";
$database = "u266072517_name";
$password = "buystuffpwd";

//  Create a new connection to the MySQL database using PDO
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

Passo 3 – Conferindo a conectividade e corrigindo um erro comum

Se o código da conexão PHP for executado com sucesso e a conexão for estabelecida sem problemas, você vai ver essa mensagem abaixo quando visitar o script no seu site:

Solucionando erros de conexão PHP MySQL

Agora, se a conexão não for bem sucedida, você com certeza vai ver algo diferente. Os erros são um pouquinho diferentes para o MySQLi e para o PDO.

Erro de senha incorreta

Por exemplo, se mudarmos um pouco a senha no código PHP (mas não a mudarmos no banco de dados).

Erro com MySQLi:

Erro com PDO:

Então se você vir essa mensagem, a primeira coisa a se fazer é conferir os detalhes do banco de dados. Outra razão para este erro acontecer pode ser que você não tenha um usuário atribuído a um banco de dados. No caso do painel de controle da Hostinger, o seu banco de dados na seção Banco de Dados MySQL deveria se parecer com a imagem abaixo:lista de banco de dados e usuários no processo de como conectar php com mysql

Ou no caso do cPanel, você deveria ver a sua seção de banco de dados desse jeito:banco de dados atual no processo de como conectar php com mysql

Não pode se conectar ao MySQL Server

Com o MySQLi:

O erro Can’t connect to MySQL serve on ‘server’ (110) significa que o script não está recebendo resposta de um servidor. Isso aconteceu porque nós definimos server ao invés de localhost como um servername, e este nome não é reconhecido.

Com PDO:

  • [HY000] significa erro geral.
  • [2002] significa Can’t connect to local MySQL server. O restante das mensagens fornece mais detalhes, informando que o “host” não foi encontrado.

E, é claro, é sempre importante se lembrar de uma regra de ouro quando se está solucionando problemas de erros: conferir o seu registro de erros.

Ele pode ser encontrado na mesma pasta onde o script está sendo executado. Por exemplo, se um script está sendo executado na pasta public_html, você vai encontrar o error_log exatamente na mesma pasta.

Dentro dela (a referida pasta), você vai conseguir ver todos os erros que o script possivelmente gerou e que vão ajudar muito você a solucionar o problema.

drago vendo tutoriais no blog depois de ensinar como conectar php com mysql

Conclusão

Neste tutorial, nós fornecemos a você uma conhecimento bem básico sobre bancos de dados e como conectar PHP com MySQL. Agora você já sabe que pode fazer isso usando o MySQLi e o PHP Data Objects (PDO).

Você pode usar o material que você acabou de aprender em opções mais avançadas de scripts de configurações. Conectar-se a bancos de dados é o primeiro e mais importante passo quando for trabalhar com eles. 

APRENDA MAIS

Andrei L.

Andrei é jornalista e conteudista na Hostinger. Tem experiência no WordPress, em conteúdos de tecnologia e conhecimentos avançados em SEO. É fã de games, adora vôlei e ama o inverno.

2 Comentários

Deixe seu comentário!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • Olá… Eu tenho um Blog em wordpress http://centropreparatorio.com.br e gostaria de saber se é possível criar formulários personalizados para conexão direta com o Banco de Dados mysql dentro dos posts do WordPress? Eu quero coletar algumas informações dos visitantes, realizando pesquisas.

    • Olá, Pablo, tudo certo? Sim, é possível criar formulários personalizados que fazem conexão direta com o banco de dados. Existem três maneiras de fazer isso.

      A primeira maneira é através de um plugin chamado WPForms, que é parcialmente gratuito.
      A segunda maneira é através de outro plugin, muito mais robusto, completo e com mais opções, chamado Gravity Forms. O único problema é que ele é pago.

      A terceira maneira é fazendo manualmente, o que vai exigir uma carga de desenvolvimento WordPress bem avançada.

      Caso você precise de ajuda, entre em contato com o nosso suporte, eles resolverão isso rapidinho! 😀

Comece a Economizar Agora!

Hospedagem com tudo incluso e nome de domínio
R$2
29
/mês*

Cadastre-se

Receba nossos conteúdos e novidades direto no seu e-mail!

 

Estamos cadastrando...

Pronto! Obrigado por se inscrever!