Neste artigo, vamos explorar como você pode usar um banco de dados MySQL para executar operações CRUD (criar, ler, atualizar e excluir) com PHP. Se você quer colocar a mão na massa com conectividade de banco de dados em PHP, este artigo é um ótimo ponto de partida.
Se você está apenas começando com PHP, provavelmente já percebeu que a conectividade de banco de dados é um recurso essencial com o qual você precisará se familiarizar mais cedo ou mais tarde. Na maioria dos casos, um banco de dados é a espinha dorsal de qualquer aplicativo da Web e contém os dados do aplicativo. Portanto, como desenvolvedor PHP, você precisará saber como lidar com operações de banco de dados.
Neste artigo, vamos manter as coisas simples e explorar como usar as funções principais do mysqli. Nos próximos artigos desta série, exploraremos algumas outras maneiras de lidar com a conectividade do banco de dados.
Hoje, abordaremos os fundamentos da conectividade de banco de dados em PHP e usaremos o banco de dados MySQL como nosso back-end de banco de dados. Vamos dar uma olhada rápida no que abordaremos neste artigo:
- como configurar uma conexão de banco de dados
- como selecionar um banco de dados
- como inserir e atualizar registros
- como buscar registros
- como excluir registros
Presumo que você tenha uma instalação funcional de PHP e MySQL e que esteja ciente dos fundamentos do MySQL. Além disso, você precisará certificar-se de que a extensão mysqli esteja habilitada em sua instalação do PHP, pois a usaremos para fazer operações de banco de dados com o banco de dados MySQL.
Se você não tem certeza sobre a extensão mysqli, você pode verificá-la usando o phpinfo()
função. No phpinfo()
saída, você pode verificar se há uma seção intitulada mysqli. Você também deve ver o Suporte Mysqli | ativado header se a extensão mysqli estiver habilitada.
Há também uma maneira fácil de verificar isso usando a interface CLI. Você pode executar o seguinte comando para listar todas as extensões que estão habilitadas com sua configuração do PHP.
$php -m
Deve imprimir uma lista de extensões, e se contiver o mysqli palavra-chave, a extensão mysqli está habilitada.
Agora que estamos configurados, vamos começar a criar uma conexão de banco de dados.
Como configurar uma conexão de banco de dados
Nesta seção, discutiremos como você pode estabelecer uma conexão de banco de dados usando a extensão mysqli.
Existem duas maneiras de usar a extensão mysqli, procedural e orientada a objetos, mas usaremos a forma procedural neste post para manter as coisas simples. Se você estiver curioso sobre a sintaxe orientada a objetos, deixe-me saber suas perguntas na seção de comentários e terei prazer em respondê-las.
Em primeiro lugar, vamos percorrer a sintaxe do mysqli_connect
função, que é usada para configurar uma conexão com o back-end do MySQL.
o mysqli_connect
A função recebe quatro argumentos e retorna o objeto de conexão após uma conexão bem-sucedida. Vamos analisar cada argumento:
-
{MYSQL_HOSTNAME}
: Deve ser substituído pelo nome de host ou endereço IP do servidor MySQL. Se você estiver trabalhando com o servidor MySQL em seu sistema local, você pode usarlocalhost
ou127.0.0.1
. -
{MYSQL_USERNAME}
: O nome de usuário do seu usuário MySQL. O nome de usuário é raiz por padrão. -
{MYSQL_PASSWORD}
: A senha do seu usuário MySQL. A senha é em branco (ou seja sem senha) por padrão. -
{MYSQL_DATABASE}
: o banco de dados ao qual você deseja se conectar.
Após a conexão bem-sucedida, o $connection_obj
contém o objeto de conexão. A imagem a seguir mostra as várias propriedades no $connection_obj
objeto.
Com isso, você está pronto para executar consultas no banco de dados que foi fornecido ao {MYSQL_DATABASE}
argumento.
Por outro lado, se a conexão não for bem-sucedida, podemos depurá-la conforme mostrado no trecho a seguir:
Na próxima seção, veremos como você pode selecionar um banco de dados específico usando o objeto de conexão.
Como selecionar um banco de dados
Na seção anterior, discutimos como configurar uma conexão de banco de dados usando o mysqli_connect
função. Nesta seção, veremos como selecionar um banco de dados quando a conexão MySQL for bem-sucedida.
Claro, como já vimos, você sempre pode passar um banco de dados no quarto argumento do mysqli_connect
função em si. Mas também há outra maneira de fazer isso caso queira alterar um banco de dados depois de se conectar ao MySQL. Você pode usar o mysqli_select_db
função para selecionar um banco de dados para trabalhar.
Vamos revisar o exemplo discutido na seção anterior para ver como ele pode funcionar.
Como você pode ver, passamos apenas três argumentos no mysqli_connect
função, e isso deve nos dar uma conexão de banco de dados bem-sucedida. Em vez de passar um banco de dados no quarto argumento, selecionamos o banco de dados usando o mysqli_select_db
função.
o mysqli_select_db
A função recebe dois argumentos: o objeto de conexão e o banco de dados ao qual você deseja se conectar.
Como criar (inserir) e atualizar registros
Nas seções anteriores, discutimos como configurar uma conexão MySQL e selecionar um banco de dados para trabalhar. Agora, veremos como executar diferentes tipos de consultas no banco de dados selecionado. Primeiro, vamos ver como inserir e atualizar registros.
Se você quiser acompanhar os exemplos discutidos neste artigo, precisará criar a seguinte tabela MySQL em seu banco de dados. É a tabela que vamos usar em todos os exemplos a partir de agora.
CREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `phone` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Usando a guia SQL no phpMyAdmin:
Executando o comando acima em seu banco de dados MySQL deve criar o employee
tabela como mostrado na imagem a seguir.
Como criar registros
Para manter as coisas simples, inicializaremos os valores que precisam ser inseridos na tabela de funcionários no início do script. No entanto, na maioria dos casos, estes viriam da entrada do usuário no $_POST
variáveis enviadas usando um formulário.
No script acima, inicializamos primeiro as variáveis que usaremos na consulta de inserção. Em seguida, preparamos a consulta de inserção e a atribuímos ao $query
variável.
É importante notar que usamos o mysqli_real_escape_string
função para escapar valores de string que vamos usar na consulta de inserção. Você deve usar esta função quando estiver lidando com valores de string enviados via $_POST
variáveis. Isso garante que seus usuários não injetem código malicioso em suas consultas de banco de dados.
Por fim, executamos a consulta de inserção usando o mysqli_query
função. o mysqli_query
A função é usada para executar uma consulta no banco de dados ativo. Para finalizar, usamos o mysqli_close
função para fechar a conexão ativa.
O resultado é o seguinte:
Como atualizar registros
Na seção anterior, discutimos como você pode inserir novos registros na tabela MySQL. Nesta seção, veremos como você pode atualizar um registro que já existe na tabela.
Suponho que já exista um registro na tabela de funcionários e que o id desse registro seja 1. No exemplo a seguir, atualizaremos um registro que tem o valor 1 na coluna id.
Como você pode ver no exemplo acima, queremos atualizar o phone
coluna do employee
mesa onde id
é 1. Isso é muito semelhante à consulta de inserção, exceto que estamos usando UPDATE
ao invés de INSERT
.
O resultado é o seguinte:
Como recuperar registros
Até agora, discutimos como inserir e atualizar registros na tabela MySQL. Nesta seção, veremos como recuperar (buscar) registros da tabela MySQL.
Dê uma olhada no exemplo a seguir.
"; echo "Name:" . $row['name'] . "
"; echo "Phone:" . $row['phone'] . "
"; echo "Email:" . $row['email'] . "
"; echo "
"; } // close the db connection mysqli_close($connection_obj); ?>
A primeira coisa que você precisa fazer para buscar registros de um banco de dados é executar a consulta de seleção usando o comando mysqli_query
função. Após a execução bem-sucedida da consulta de seleção, o mysqli_query
função retorna o mysqli result
objeto, e é isso que armazenamos no $result
variável acima.
Em seguida, iteramos sobre o conjunto de resultados usando o mysqli_fetch_array
função em um loop while. o mysqli_fetch_array
A função busca uma única linha por vez do conjunto de resultados mysqli.
o mysqli_fetch_array
função recebe dois argumentos: o objeto de resultado e o tipo de resultado. O tipo de resultado indica que tipo de array será retornado do mysqli_fetch_array
função. Pode ser numérico, associativo ou ambos. É um argumento opcional e você pode passar um desses três valores: MYSQLI_ASSOC
, MYSQLI_NUM
ou MYSQLI_BOTH
. MYSQLI_ASSOC
indica que você deseja acessar as colunas pelo nome e MYSQLI_NUM
indica que você deseja acessar as colunas pelo número da coluna.
Se você passar o MYSQLI_NUM
valor no segundo argumento do mysqli_fetch_array
função, você pode acessar colunas como $row[0]
, $row[1]
, e assim por diante. No nosso caso, passamos o MYSQLI_BOTH
value, para que possamos acessar as colunas de ambas as maneiras. Se você deseja acessar apenas valores associativos, você pode usar o mysqli_fetch_assoc
função em vez disso.
O resultado será este:
ID:1 Name:John Smith Phone:333-555-4444 Email:[email protected]
Na próxima e última seção, veremos como excluir registros de um banco de dados.
Como excluir registros
Nesta seção, veremos como excluir registros de um banco de dados.
Dê uma olhada no exemplo a seguir.
Como você pode ver, funciona praticamente da mesma forma que as consultas de inserção e atualização. o mysqli_query
função executa o DELETE
consulta, e que eventualmente exclui o registro do employee
tabela.
O resultado:
Conclusão
Neste artigo, exploramos como você pode usar o banco de dados MySQL com PHP. Este artigo teve como objetivo fornecer a você um conhecimento básico de conectividade de banco de dados MySQL em PHP para iniciantes. Vimos como ir da configuração de uma conexão de banco de dados para a execução de diferentes tipos de consultas.
Este post foi atualizado com contribuições de Kingsley Ubah. Kingsley é apaixonado por criar conteúdo que educa e inspira os leitores. Os hobbies incluem leitura, futebol e ciclismo.
Miniatura de postagem gerada com OpenAI DALL-E.