Banco de dados MySQL PHP
Neste tutorial, você vai aprender como INSERIR dados no seu banco de dados MySQL a partir de scripts PHP. Existem dois métodos que você pode usar, MySQLi e PDO.
Antes de você começar esse guia de inserção no MySQL via PHP, você vai precisar de acesso ao painel de controle da sua hospedagem de site.
Obtenha um enorme desconto em Hospedagem PHP hoje! Até 85% de desconto por um tempo limitado!
Começar Hospedagem PHP
Se você ainda tem dúvidas sobre como configurar sua conexão MySQL, pode conferir este tutorial sobre PHPMySQL, que cobre os passos mais importantes de trabalhar com PHP e bancos de dados.
Como Criar uma Tabela (Opcional)
Como Confirmar o Sucesso da Operação e Resolver Erros Comuns
Primeiro, temos que criar uma tabela para os seus dados. Se você já criou uma, siga em frente para a próxima seção.
É um processo muito simples que você pode fazer com o phpMyAdmin, que é localizado no painel de controle da sua hospedagem.
Depois de fazer login na sua página de phpMyAdmin, você deverá ver algo parecido com a imagem abaixo:
DNós vamos criar uma tabela chamada Students para o nosso banco de dados u266072517_name. Você pode criar uma nova tabela clicando em Create Table. Depois disso, você verá esta nova página onde você pode inserir todas as informações necessárias para sua tabela:
Esta é a configuração mais simples que você pode usar para uma tabela, para mais informações sobre a estrutura da tabela/ banco de dados e quais os tipos configurações você pode usar com esta coluna, consulte o documento oficial do phpMyAdmin.
Por enquanto, veja uma breve explicação das colunas que usamos:
Name – Este é o nome da sua coluna. Será exibido no topo da sua tabela.
Type – Aqui você pode configurar o tipo da coluna aqui. Por exemplo, nós selecionamos varchar porque precisamos selecionar um tipo de nome aqui (que tenha letras, não números).
Length/Values – Usado para especificar o comprimento máximo que sua entrada nesta coluna possa ter.
Index – Nós usamos o índice "Primary" para o campo "ID". Ao criar uma tabela, é recomendado ter uma coluna ID. É usado para enumerar entradas da tabela e necessária quando configurar a tabela. Também selecionamos "A_I", que significa Auto Increment. Isto vai enumerar as entradas automaticamente (1, 2, 3, 4…).
Clique em Save (Salvar) e sua tabela estará pronta.
A primeira parte do código (linhas 3 – 18) é sobre a atual conexão do banco de dados. Não vamos passar pelo processo todo novamente. Contudo, se você deseja saber o que cada linha de código significa, confira nosso tutorial sobre como se conectar a um banco de dados.
Vamos começar pela linha 19:
A próxima parte do código (linhas 20 – 22) mostra se nosso pedido foi feito com sucesso.
E a parte final (linhas 22 – 24) mostra uma mensagem diferente caso o pedido não seja executado com sucesso:
Assim como no exemplo anterior, precisamos primeiro de uma conexão com o banco de dados criando um novo objeto PDO. Para isso, use este tutorial.
Você sempre deve usar declarações preparadas quando enviar ou receber dados do banco de dados com PDO.
No código correto:
Nas linhas 28, 29 e 30, nós usamos o método bindParam() do objeto do banco de dados. Também existe um método bindValue() que é bem diferente.
bindParam() – Esse método avalia dados quando o método execute() é alcançado. A primeira vez que o script alcança um método execute() ele vê que o $first_Name corresponde ao "Thom", vincula aquele valor e executa a consulta. Quando o script alcança o segundo método execute(), ele vê o $first_Name agora corresponde a "John", vincula aquele valor e executa a consulta novamente com os novos valores. O que é importante de se lembrar é que nós definimos a consulta uma vez a reusamos com dados diferentes em diferentes pontos do script.
bindValue() – Esse método avalia os dados assim que o bindValue() é alcançado. Como o valor do $first_Name foi definido como "Thom" quando o bindValue() foi alcançado, ele será usado toda vez que um método execute() for chamado para $my_Insert_Statement.
Perceba que nós usamos a variante $first_Name e demos a ela um outro valor na segunda vez. Se você conferir o banco de dados depois de executar o script, você terá ambos os nomes definidos, apesar da variável $first_Name ser equivalente a "John" ao final do script. Lembre-se que o PHP avalia o script inteiro antes de realmente executá-lo.
Se você atualizar o script e substituir bindParam com bindValue, você vai inserir "Thom Vail" duas vezes no banco de dados e "John Smith" será ignorado.
Se a solicitação que executamos e inserimos no banco de dados MySQL deu certo, você verá uma mensagem como a de baixo. Basicamente, ela diz que a conexão foi feita com sucesso e um novo registro foi criado também com sucesso. Em outras palavras, você conseguiu inserir dados MySQL PHP.
Como Resolver Erros Comuns
Contudo, existem situações onde o novo registro apresentará um erro com a inserção do SQL. Mas não se preocupe, existem algumas maneiras de corrigir esses erros de MySQL.
Em qualquer outro caso, uma imagem de erro vai aparecer. Por exemplo, vamos fazer um erro de sintaxe no nosso código e a mensagem que vai aparecer é algo bem parecido com a de baixo.
Como podemos ver, a primeira parte do nosso código está boa. A conexão foi estabelecida com sucesso, mas nossa SQL Query esbarrou num erro.
Existe um erro de sintaxe que, infelizmente, fez o nosso script dar erro. O erro estava aqui:
Como você pode ver, nós usamos as chaves "{}" em vez dos colchetes "[]". E isso não está correto, algo que fez nosso script aponta o erro e falhar a execução.
Na linha 7 da conexão PDO, o modo de erro está configurado para mostrar todas as exceções. Se isso tivesse deixado fora do script e a solicitação tivesse falhado, você não receberia nenhuma mensagem de erro. Com as exceções habilitadas, é o problema específico que aparece, aumentando suas chances de resolvê-lo.
Isso deve ser usado apenas quando estiver desenvolvendo um script, pois ele pode expor o banco de dados e os nomes das tabelas. Algo que você pode preferir esconder de qualquer tipo de tentativa maliciosa de acesso aos seus dados. Nesse caso acima em que as chaves foram usadas no lugar dos colchetes, o erro se parece com o código abaixo.
Outros possíveis problemas que você pode encontrar:
Colunas especificadas incorretamente (colunas não-existentes ou com erros de ortografia).
Um tipo de valor sendo atribuído a outro tipo de coluna. Por exemplo, se tentássemos atribuir o número "47" na coluna Name, vamos encontrar um erro pois deve ser um valor de sequência. Mas se for atribuído um número entre as aspas, por exemplo "47", isso funcionaria porque nosso número funcionaria porque nosso número seria atribuído como uma string à coluna.
Tentar inserir dados em uma tabela que não existe ou cometer erros de digitação.
Todos estes erros podem ser corrigidos facilmente se você seguir as instruções da mensagem de erro ou corrigir nsagens de erros.
Depois de adicionar dados de forma bem sucedida, devemos vê-los adicionados ao nosso banco de dados. Aqui está um exemplo de tabela e que adicionamos nossos dados vista do phpMyAdmin.
Neste tutorial, você aprendeu como inserir dados no MySQL com PHP usando MySQLi e PDO. Você também aprendeu a como solucionar problemas de comuns de conexão. Inserir dados no MySQL com PHP é extremamente útil para quem está aprendendo como codificar ou construir um site.
Ricardo Drudi Responder
O conteúdo é muito bom, mas seria muito útil uma descrição de onde colocar o script PHP. Não sei se existe um padrão para isso, mas a definição do diretório raiz e a estrutura adequada para os scripts seria de grande ajuda para quem está começando.
Então Ricardo, nós temos esse tutorial aqui que explica certinho onde colocar o script PHP: https://www.hostinger.com.br/tutoriais/como-usar-php-para-wordpress/ :D
gostei do conteúdo, mais estou com uma duvida como faço para inserir dados numa tabela que tem relacionamento um para muito. exemplo tenho uma tabela paciente e uma telefone, a chave do paciente vai para tabela paciente, como faço a inserção a partir de um formulário?
Oi Jose, pelo o que eu entendi você quer criar um subformulário? Se for isso, você deve usar a ferramenta de subformulário. Aqui tem um tutorial sobre como fazer isso no Microsoft Access :)