Adicionando dados à tabela sql php. Adicionando dados em PHP

Neste artigo, veremos como usar o PHP para inserir linhas em um banco de dados MySQL.

Passo 1 - Criando uma Tabela

Primeiro você precisa criar uma tabela para os dados. Este é um procedimento simples que pode ser feito usando o phpMyAdmin em seu painel de controle de hospedagem.

Depois de fazer login no phpMyAdmin, você verá uma interface como esta:

Vamos criar uma tabela chamada Alunos no banco de dados u266072517_name clicando no botão "Criar tabela". Depois disso veremos nova página, no qual definimos todos os parâmetros de tabela necessários:

Este é o mais fácil configuração, que pode ser usado para tabela e obter informação adicional sobre a estrutura de tabelas/bancos de dados.

Opções de coluna:

  • Nome é o nome da coluna que aparece na parte superior da tabela.
  • Tipo é o tipo da coluna. Por exemplo, escolhemos varchar porque estaremos inserindo valores de string.
  • Comprimento/Valores - usado para especificar comprimento máximo, que a entrada nesta coluna pode ter.
  • Índice - Usamos um índice "Primário" para o campo "ID". Ao criar uma tabela, é recomendado que apenas uma coluna seja usada como chave primária. Ele é usado para listar os registros em uma tabela e é necessário ao configurar a tabela. Também marquei "A_I", que significa "Incremento Automático" - a opção de atribuir automaticamente o número de registros (1,2,3,4...).
    Clique no botão Salvar e a tabela será criada.

Etapa 2. Escrevendo código PHP para inserir dados no MySQL.

Opção 1 - Método MySQLi

Primeiro você precisa estabelecer uma conexão com o banco de dados. Depois disso, usamos a consulta SQL INSERT. Exemplo de código completo:

" . mysqli_error($conn); ) mysqli_close($conn); ?>

A primeira parte do código (linha 3 - 18) é para conectar ao banco de dados.

Vamos começar com a linha #19:

$sql = "INSERIR EM Alunos (nome, sobrenome, e-mail) VALUES ("Thom", "Vial", " [e-mail protegido]")";

Ele insere dados no banco de dados MySQL. INSERT INTO é uma instrução que adiciona dados à tabela especificada. Em nosso exemplo, os dados são adicionados à tabela Estudantes.

Em seguida vem a enumeração das colunas nas quais os valores são inseridos: nome, sobrenome, email. Os dados serão adicionados na ordem especificada. Se tivéssemos escrito (email, sobrenome, nome), os valores teriam sido adicionados em uma ordem diferente.

A próxima parte é a instrução VALUES. Aqui especificamos os valores para as colunas: name = Thom, lastname = Vial, email = [e-mail protegido]

Executamos uma consulta usando código PHP. No código, as consultas SQL devem ser escapadas com aspas. A próxima parte do código (linha 20-22) verifica se nossa solicitação foi bem-sucedida:

if (mysqli_query($conn, $sql)) ( echo "Novo registro criado com sucesso"; )

Esse código exibe uma mensagem informando que a solicitação foi bem-sucedida.

E a última parte (linha 22 - 24) exibe uma notificação se a solicitação não for bem-sucedida:

else ( echo "Erro: " . $sql . "
" .mysqli_error($conn); )

Opção 2 - PHP Data Object Method (PDO)

Primeiro precisamos nos conectar ao banco de dados criando um novo objeto PDO. Ao trabalhar com ele, usaremos vários métodos DOP. Métodos de objetos são chamados assim:

$the_Object->the_Method();

O PDO permite que você "prepare" o código SQL antes de ser executado. A consulta SQL é avaliada e "corrigida" antes de ser executada. Por exemplo, o ataque de injeção de SQL mais simples pode ser executado simplesmente inserindo o código SQL em um campo de formulário. Por exemplo:

Como isso é SQL sintaticamente correto, o ponto e vírgula torna DROP DATABASE user_table uma nova consulta SQL e a tabela de usuário é eliminada. Expressões preparadas (variáveis ​​vinculadas) não permitem que ponto e vírgula e aspas terminem a consulta original, portanto, o comando DROP DATABASE nunca será executado.

Para usar instruções preparadas, você precisa escrever uma nova variável que chame o método prepare() do objeto de banco de dados.

Código correto:

getMensagem(); ) // Definir variáveis ​​para a pessoa que queremos adicionar ao banco de dados $first_Name = "Thom"; $last_Name = "Frasco"; $email = " [e-mail protegido]"; // Cria uma variável que chama o método prepare() do objeto de banco de dados // A consulta SQL que você deseja executar é inserida como um parâmetro e os espaços reservados são escritos assim: placeholder_name $my_Insert_Statement = $my_Db_Connection->prepare( "INSERT INTO Students ( name, lastname, email) VALUES (:first_name, :last_name, :email)"); // Agora informamos ao script a qual variável cada placeholder se refere para usar o método bindParam() // O o primeiro parâmetro é o espaço reservado na instrução acima, o segundo é a variável que deve se referir a $my_Insert_Statement->bindParam(:first_name, $first_Name); $my_Insert_Statement->bindParam(:last_name, $last_Name); $my_Insert_Statement->bindParam (:email, $email); // Executa a consulta usando os dados que acabamos de definir // O método execute() retorna TRUE se for bem-sucedido e FALSE se não, deixando você imprimir sua própria mensagem se ($my_Insert_Statement ->execute()) ( echo "Novo reco rdcriado com sucesso"; ) else ( echo "Unable to createrecord"; ) // Neste ponto, você pode alterar os dados da variável e executar uma consulta para adicionar mais dados aos dados do banco de dados $first_Name = "John"; $last_Name = "Smith"; $email = " [e-mail protegido]"; $my_Insert_Statement->execute(); // Executa novamente quando a variável for alterada if ($my_Insert_Statement->execute()) ( echo "Novo registro criado com sucesso"; ) else ( echo "Não foi possível criar registro";

Nas linhas 28, 29 e 30 usamos o método bindParam() do objeto de banco de dados. Existe também um método bindValue(), que é muito diferente do anterior.

  • bindParam() - Este método avalia os dados quando o método execute() é alcançado. A primeira vez que o script atinge o método execute(), ele vê que $first_Name corresponde a "Thom". Em seguida, ele vincula esse valor e executa a consulta. Quando o script atinge o segundo método execute(), ele vê que $first_Name agora corresponde a "John". Em seguida, ele vincula esse valor e executa a consulta novamente com novos valores. É importante lembrar que uma vez definimos uma consulta e a reutilizamos com dados diferentes em diferentes pontos do script.
  • bindValue() - Este método avalia os dados assim que bindValue() é alcançado. Como $first_Name foi definido como "Thom", quando bindValue() for alcançado, ele será usado toda vez que o método execute() em $my_Insert_Statement for chamado.
    Observe que estamos reutilizando a variável $first_Name e atribuindo um novo valor a ela uma segunda vez. Depois de executar o script, ambos os nomes serão listados no banco de dados, apesar da variável $first_Name no final do script ter o valor "John". Lembre-se que o PHP verifica todo o script antes de executá-lo.

Se você atualizar o script para substituir bindParam por bindValue, você inserirá "Thom Vial" duas vezes no banco de dados e John Smith será ignorado.

Etapa 3 - Confirme o sucesso e resolva os problemas

Se a solicitação de inserção de linhas no banco de dados foi bem-sucedida, veremos a seguinte mensagem:

Solucionando problemas de erros comuns

MySQLi

Em qualquer outro caso, uma mensagem de erro será exibida. Por exemplo, vamos cometer um erro de sintaxe no código e obtemos o seguinte:

A primeira parte do código está correta, a conexão foi estabelecida com sucesso, mas a consulta SQL falhou.

"Erro: INSERT INTO Alunos (nome, sobrenome, e-mail) VALUES ("Thom", "Vial", " [e-mail protegido]") Você tem um erro na sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe correta para usar perto de "(nome, sobrenome, email) VALUES ("Thom", "Vial", " [e-mail protegido]")" na linha 1"

Ocorreu um erro de sintaxe que causou a falha do script. O erro estava aqui:

$sql = "INSERIR EM Alunos (nome, sobrenome, e-mail) VALUES ("Thom", "Vial", " [e-mail protegido]")";

Usamos chaves em vez de chaves normais. Isso está incorreto e o script deu um erro de sintaxe.

DOP

Na linha 7 da conexão PDO, o modo de erro é definido como "exibir todas as exceções". Se outro valor fosse definido e a solicitação falhasse, não receberíamos nenhuma mensagem de erro.

Essa configuração deve ser usada apenas ao desenvolver um script. Quando ativado, os nomes de banco de dados e tabela podem ser exibidos, que devem ser mantidos ocultos por motivos de segurança. No caso descrito acima, quando colchetes foram usados ​​em vez de colchetes normais, a mensagem de erro se parece com isso:

Erro fatal: Uncaughtexception "PDOException" com a mensagem "SQLSTATE: Syntax error or accessviolation: 1064 You have an error in your SQL syntax; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe de direitos para usar perto de "(nome, sobrenome, email) VALUES ("Thom", "Vial", " [e-mail protegido]")" na linha 1"

Outros possíveis problemas:

  • As colunas estão especificadas incorretamente (colunas inexistentes ou erro de ortografia em seus nomes).
  • Um tipo de valor é atribuído a uma coluna de outro tipo. Por exemplo, se você tentar inserir o número 47 na coluna Nome, receberá um erro. Esta coluna deve usar um valor de string. Mas se especificássemos um número entre aspas (por exemplo, "47") funcionaria, porque é uma string.
  • Foi feita uma tentativa de inserir dados em uma tabela que não existe. Assim como um erro de ortografia no nome da tabela.

Depois de inserir os dados com sucesso, veremos que eles foram adicionados ao banco de dados. Abaixo está um exemplo de uma tabela onde os dados foram adicionados.

Neste post quero contar como transferir para o banco de dados, os dados inseridos no formulário. E assim criamos um formulário simples onde teremos dois campos: um nome de usuário e seu email:

Seu nome:
Seu email:


Este formulário pode ser usado para cadastrar um novo usuário, enviar notícias, coletar estatísticas, etc. entra no script php:

$nome = $_POST["nome"]; $email = $_POST["email"]; $resultado = mysqli_query("INSERIR NO usuário (nome, email) VALUES ("$nome", "$email")"); if ($result) ( echo "Dados salvos com sucesso!"; ) else ( echo "Ocorreu um erro, tente novamente."; )


O que acontece neste roteiro? Agora vamos descobrir!
Os dados inseridos no formulário são transferidos para o script php (que está escrito acima) usando o método POST, e usando o array global $_POST, os dados são formados nas variáveis ​​$name e $email:

$nome = $_POST["nome"]; $email = $_POST["email"];


Após as variáveis ​​estarem prontas para serem inseridas no banco de dados, compomos uma consulta. Mas primeiro, seus scripts já devem estar conectados ao banco de dados, como conectar ao banco de dados, escrevi neste tópico:. A solicitação em si é assim:

$resultado = mysqli_query("INSERIR NO usuário (nome, email) VALUES ("$nome", "$email")");


Neste código, indicamos que as seguintes variáveis ​​serão adicionadas às células name e email que estão na tabela user: $name e $email .
Além disso, se tudo correu bem, receberemos uma mensagem da condição:

Dados salvos com sucesso!


Se houve algum problema e os dados não foram inseridos, receberemos uma mensagem de erro:

Ocorreu um erro, por favor, tente novamente.


Isso é tudo!

*** *** *** *** ***

Se desejar, você pode adicionar mais campos para inserir informações, por exemplo, precisamos adicionar um campo para inserir a cidade do usuário. Já temos um script pronto (escrito acima), agora basta adicionar um campo Sua cidade, vamos nomear a variável: $city . E assim no formulário de entrada de dados, após:

Seu email:


adicionar:

Sua cidade:


No script php, depois de:

$email = $_POST["email"];


adicionar:

$cidade = $_POST["cidade"];


E, claro, também adicionamos à solicitação, assim:

$resultado = mysqli_query("INSERIR NO usuário (nome, email, cidade) VALUES ("$nome", "$email", "$cidade")");


Veja qual deve ser o resultado final:
Formulário de entrada:

Seu nome:
Seu email:
Sua cidade:


Roteiro:

$nome = $_POST["nome"]; $email = $_POST["email"]; $cidade = $_POST["cidade"]; $resultado = mysqli_query("INSERIR NO usuário (nome, email, cidade) VALUES ("$nome", "$email", "$cidade")"); if ($result == true) ( ​​echo "Dados salvos com sucesso!"; ) else ( echo "Ocorreu um erro, tente novamente."; )


Como você pode ver, nada complicado! Se necessário, você pode adicionar outro campo, e outro, e outro...

Neste artigo analisaremos, talvez, um dos mais importantes consultas SQL. Isso é consultas para adicionar e excluir registros de uma tabela de banco de dados. Porque, muitas vezes adicionar novos registros à tabela, e fazê-lo automaticamente, então este material deve ser estudado.

Para iniciar Consulta SQL para adicionar um novo registro a uma tabela:

INSERT INTO users (login, pass) values("TestUser", "123456")

Ao adicionar um registro, o primeiro comando é " INSIRA DENTRO DE", depois o nome da tabela na qual inserimos o registro. Em seguida vem os nomes dos campos que queremos preencher entre parênteses. E depois entre parênteses após a palavra " valores"começamos a listar os valores dos campos que selecionamos. Após executar essa consulta, um novo registro aparecerá em nossa tabela.

Às vezes necessário atualizar entrada da tabela, para isso existe o seguinte consulta SQL:

UPDATE users SET login = "TestUser2", pass="1234560" WHERE login="TestUser"

Essa consulta é mais complexa, pois possui o " ONDE", mas sobre isso um pouco mais baixo. Primeiro vem o comando" ATUALIZAR", depois o nome da tabela e depois " DEFINIR" descrevemos os valores de todos os campos que queremos alterar. Seria simples, mas surge a pergunta: " Qual entrada deve ser atualizada?". Para isso existe " ONDE". Neste caso, estamos atualizando o registro, o campo " Conecte-se"o que importa" TestUser". Observe que, se houver vários desses registros, tudo será atualizado! Isso é muito importante entender, caso contrário você corre o risco de perder sua planilha.

Vamos falar um pouco mais sobre ONDE". Além de verificações de igualdade simples, também existem desigualdades, bem como operações lógicas: E e OU.

UPDATE users SET login = "TestUser2", pass="1234560" WHERE id< 15 AND login="TestUser"

o consulta SQL atualizará esses registros Eu iria que são menos 15 E campo " Conecte-se"tem o significado" TestUser". Espero que você tenha descoberto o design" ONDE"porque é muito importante. Precisamente" ONDE" é usado quando buscando registros de tabelas, e essa é a tarefa mais usada ao trabalhar com bancos de dados.

E por fim, simples Consulta SQL para excluir registros de uma tabela:

DELETE FROM users WHERE login="TestUser2"

Após o comando " APAGAR DE" vai o nome da tabela na qual você deseja excluir os registros. A seguir, descrevemos a construção "ONDE". Se o registro atender às condições descritas, ele será excluído. Novamente, preste atenção, dependendo do número de registros que satisfaz a condição após " ONDE", qualquer número deles pode ser excluído.

Nesta lição, aprenderemos como inserir no banco de dados MySql, os dados inseridos pelo usuário no formulário. Você aprenderá como se conectar ao banco de dados MySql a partir do código da página da Web, bem como processar e inserir dados no banco de dados.


Na última lição, eu lhe disse como instalar o Denver no seu computador, como criar seu próprio banco de dados, um usuário para ele, como criar uma tabela no banco de dados, e nós a preenchemos com um registro.

Neste tutorial, vamos criar um documento html para inserir as informações do usuário, bem como um arquivo php que trata essas informações, que irá processar os dados, conectar-se ao banco de dados MySql e inserir novos registros lá.

Passando das palavras aos atos, vamos começar.

Adicionando dados do usuário ao banco de dados MySql de uma página da web

Primeiro passo: criar um formulário html para entrada de dados

Desde o início, precisamos nos preparar para trabalhar com php, MySql e testar o código escrito no computador local. Por esta:

1. Inicie o Denwer no seu computador.

2. Abra o disco virtual criado por Denver (por exemplo, meu disco é “Z”). Abra-o, então: home - localhost - www - crie uma nova pasta e dê um nome (vou dar o nome "db1").

3. Se você estiver trabalhando no Adobe Dreamweaver, acesse o gerenciador do site, clique no botão "Novo", selecione o caminho para a pasta recém-criada como o caminho, no campo acima você pode dar um nome ao site e clique em Salvar - Concluído. Depois de tudo isso, sua pasta aparecerá no painel direito do Adobe Dreamweaver.

1. Agora vamos criar um arquivo html normal (vamos chamá-lo de info_form.html e salvá-lo na pasta db1 recém-criada) e escrever o código do formulário lá para inserir as informações. Em nossa tabela de usuários do banco de dados new_db, existem 4 campos que um usuário pode preencher (o campo id será preenchido automaticamente). Com base nisso, você pode criar o seguinte código:

Documento sem título










Aqui, no parâmetro “action” do nosso formulário, o arquivo é registrado form.php. Será o arquivo manipulador que criaremos a seguir.

Vamos também criar um arquivo style.css para estilizar nosso formulário. Ele já está incluído no código, então só falta criá-lo, colocá-lo na mesma pasta do arquivo html e escrever o seguinte código nele:

Body(width:400px; margin:0 auto; background:#F8F4B6;) label(display: block; float: left; width: 150px; padding: 0 10px; margin: 18px 0 0; text-align: right;) # submit(float:right; margin:5px 50px 10px 0;)

Agora o formulário fica assim:

No entanto, se você inserir os dados e tentar enviar o formulário, verá um erro, pois não existe nenhum arquivo form.php no diretório de scripts.

Criar um arquivo manipulador é nossa próxima tarefa.

2. Vamos entrar na pasta db1 crie uma pasta com o nome roteiros. Nele, vamos salvar todos os nossos scripts para interagir com o banco de dados MySql.

Após a criação da pasta, crie um novo arquivo php e salve-o na pasta de scripts como form.php.

Mas antes de lidarmos diretamente com o arquivo de processamento de informações, devemos primeiro nos conectar ao nosso banco de dados. Sugiro criar um arquivo separado para isso, e aqui está o porquê:

Muito provavelmente em seu projeto você terá que se conectar ao banco de dados MySql não apenas a partir de um arquivo. Como regra, vários arquivos de projeto interagem com o banco de dados.
É muito impraticável escrever o mesmo código de conexão de banco de dados em cada um desses arquivos. E se houver, por exemplo, 50 desses arquivos e um belo dia você muda a senha do usuário e tem que procurar todos esses 50 arquivos e fazer correções em cada um.
É muito mais conveniente usar um arquivo separado para conexão, que será conectado a cada um dos arquivos onde deve haver uma conexão com o banco de dados MySql. Nesse caso, você precisará fazer correções em apenas um arquivo.

Então vamos criar um novo arquivo php, vamos chamá-lo connect.php e coloque na pasta de scripts. Nele, escreveremos o código para conectar ao nosso banco de dados MySql, bem como o código que reportará erros caso ocorram. Observe que você precisará inserir seu nome de usuário, sua senha e seu nome de banco de dados como parâmetros. O host deve ser localhost.

Erro ao conectar ao banco de dados! " .mysql_error() . "

"); mysql_select_db("new_db")//parâmetro entre colchetes ("nome do banco de dados para conectar") ou die("

Erro de seleção de banco de dados! ". mysql_error() . "

"); ?>

Agora vamos para o arquivo form.php e incluir o arquivo connect.php nele usando o seguinte código:

Se você tentar enviar o formulário agora, verá uma página da Web em branco após o envio. Isso é normal, pois acabamos de nos conectar à base e não exibimos mais nada por enquanto.

Se você vir uma mensagem de erro, verifique se todos os parâmetros estão corretos (nome de usuário, senha, nome do host: localhos, nome do banco de dados) e também certifique-se de que seu Denver esteja ligado.

3. Conectamos com sucesso ao banco de dados MySql e agora precisamos aceitar os dados inseridos no formulário em nosso arquivo manipulador. Os atributos “name” que estão presentes no documento html nos ajudarão nisso.

Para obter dados, usamos um variável php, que nos fornece todas as informações do formulário web. Esta variável é chamada de "$_REQUEST".

Escreva o seguinte código no arquivo form.php após conectar o arquivo connect.php:

$first_name = $_REQUEST["first_name"]; $last_name = $_REQUEST["last_name"]; $email = $_REQUEST["email"]; $facebook = $_REQUEST["facebook"];

4. Recebemos os dados no arquivo e os inserimos em variáveis. Agora você precisa envie esses dados para nossa tabela de banco de dados MySql. Para fazer isso, você precisa escrever o seguinte código abaixo:

$insert_sql = "INSERT INTO users (first_name, last_name, email, facebook)" . "VALUES("($first_name)", "($last_name)", "($email)", "($facebook)");"; mysql_query($inserir_sql);

Aqui, primeiro formamos uma consulta, dizendo que precisamos inserir as variáveis ​​apropriadas nos campos apropriados da tabela “users”. Entramos esta consulta na variável “$insert_sql”. E então, usando a função especial mysql_query, executamos esta consulta.

Se você preencher e enviar o formulário agora e, em seguida, procurar na tabela “usuários” do seu banco de dados, você verá a nova entrada que apareceu lá após o envio.

5. Inserimos um novo registro de uma página da Web em uma tabela de banco de dados MySql. Agora quero tocar um pouco no formato em que nossos dados são inseridos.

Primeiro, você precisa cuidar da situação em que uma pessoa que preenche um formulário pode colocar espaços desnecessários no início da inserção de informações. Eles precisam ser cortados.

Em segundo lugar, temos um campo para o Facebook. Se posteriormente quisermos exibir essas informações como um link, precisamos cuidar para que os dados neste campo sejam armazenados no formato correto (ou seja, "http://www.facebook.com/facebook id"). Mas nem sempre o usuário inserirá esses dados conforme precisamos. Ele pode digitar: “www.facebook.com/facebook id”, “facebook.com/facebook id” ou apenas “/facebook id”.

Essas situações devem ser evitadas. Para fazer isso, vamos corrigir nosso código. Vamos cortar possíveis espaços extras usando a função aparar, e a função verificará a exatidão da url inserida para o facebook preg_match. Assim, todo o código do arquivo form.php ficará assim:

Documento sem título Uma nova entrada foi adicionada ao banco de dados!

"; ?>

Sobre a função preg_match:
Esta é uma função para pesquisar com expressões regulares.

O primeiro parâmetro entre colchetes é a expressão regular, o segundo é a string a ser pesquisada.

A função retorna apenas a primeira correspondência: 0 se não houver correspondências, 1 se houver uma correspondência.

Agora tente preencher o formulário intencionalmente colocando espaços desnecessários no início do preenchimento em um dos campos e digitando o endereço do facebook sem http:// ou digitando apenas o ID do facebook. Envie uma solicitação, e depois vá para o banco de dados e você verá que apesar do preenchimento não muito correto, os dados têm exatamente o formulário que precisamos.

É aqui que vou terminar esta lição. Você pode baixar todos os arquivos desta lição no código-fonte (só não se esqueça de alterar os parâmetros para os seus próprios no arquivo connect.php).

E na próxima lição, aprenderemos como extrair informações do banco de dados MySql, selecione registros desejados e exibi-los na tela. Para não perder a próxima lição, assine as atualizações do blog usando o formulário de inscrição que você vê abaixo.

Deixe seus comentários e compartilhe com seus amigos usando os botões de mídia social.

Boa sorte e até a próxima aula!

Neste tutorial, veremos como inserir dados no banco de dados diretamente de seus scripts PHP.

Inserindo dados usando SQL

Você usa SQL para inserir dados em um banco de dados da mesma forma que usa SQL para criar um banco de dados e tabelas. A sintaxe da consulta SQL é:

INSERT INTO TableName (coluna1, coluna 2, ...) VALORES(valor1, valor 2, ...)

Como você pode ver, você pode atualizar várias colunas em uma única instrução SQL especificando-as em uma lista separada por vírgulas. Mas é claro que você também pode especificar apenas uma coluna e um valor. As colunas não mencionadas na instrução SQL fornecida permanecerão vazias.

Exemplo: Inserindo uma nova pessoa em uma tabela

Neste exemplo, estamos usando o banco de dados da Lição 18. Digamos que queremos inserir uma pessoa no banco de dados. Poderia ser Gus Goose com número de telefone 99887766 e data de nascimento 1964-04-20 .

A instrução SQL pode ficar assim:

$strSQL = "INSERIR EM PESSOAS(Nome,Sobrenome,Telefone,Data de Nascimento) VALUES("Gus","Goose","99887766 ","1964-04-20"");

Como você pode ver, as instruções SQL podem ser bastante longas e é fácil perder o controle. Portanto, é melhor escrever a instrução SQL de forma um pouco diferente:

strSQL = "INSERIR EM pessoas("; strSQL = strSQL. "Primeiro nome"; strSQL = strSQL. "Último nome" strSQL = strSQL. "telefone"; strSQL = strSQL. "aniversário)"; strSQL = strSQL. "VALUES("; strSQL = strSQL . ""Gus", "; strSQL = strSQL. ""Ganso", "; strSQL = strSQL. ""99887766", "; strSQL = strSQL. ""1964-04-20""); mysql_query($strSQL) ou die(mysql_error());

Aqui a instrução SQL é construída dividindo a frase em pequenas partes e depois combinando-as em uma variável $strSQL.

Na prática, não há diferença na aplicação de um ou outro, mas ao trabalhar com mesas grandes, a capacidade de “acompanhar” torna-se extremamente importante, por isso escolha o método mais adequado.

Vamos tentar executar o seguinte código para inserir Gus Goose no banco de dados:

Inserindo dados no banco de dados // Conecta ao servidor de banco de dados mysql_connect("mysql.myhost.com", "user", "sesame") ou die(mysql_error());//Seleciona banco de dados mysql_select_db("mydatabase") ou die(mysql_error()); // Construindo a instrução SQL $strSQL = "INSERIR EM PESSOAS("; $strSQL = $strSQL. "Primeiro nome"; $strSQL = $strSQL. "Último nome"; $strSQL = $strSQL. "telefone"; $strSQL = $strSQL. "Data de nascimento)"; $strSQL = $strSQL. "VALORES("; $strSQL = $strSQL. "Gus", "; $strSQL = $strSQL. ""Ganso", "; $strSQL = $strSQL. ""99887766", "; $strSQL = $strSQL. ""1964-04-20""); //Instrução SQL é executada mysql_query($strSQL) ou die(mysql_error()); //Fechando a conexão mysql_close(); ?>

DB atualizado!

Salvando a entrada do usuário no banco de dados

Você provavelmente já percebeu que pode criar um formulário para isso, como na Lição 11, e os valores do formulário podem ser inseridos na instrução SQL. Suponha que você tenha forma simples:

Este formulário é enviado para um arquivo insert.php onde, conforme mostrado na Lição 11, você pode obter a entrada do usuário solicitando o conteúdo do formulário. Nesse caso específico, a instrução SQL pode ser:

strSQL = "INSERT INTO people(FirstName) values("" . $_POST["FirstName"] . "")"

Da mesma forma, você pode solicitar dados para cookies, sessões, strings de consulta, etc.

Erros mais comuns de iniciantes

No início, você provavelmente receberá várias mensagens de erro ao tentar atualizar o banco de dados. Ao trabalhar com um banco de dados, nenhum erro é absolutamente inaceitável. Uma vírgula colocada incorretamente pode significar que o banco de dados não está sendo atualizado e você receberá uma mensagem de erro. Abaixo descrevemos os erros mais comuns.

Tipo de dados inválido

É importante que os dados e o tipo de dados da coluna correspondam. Cada coluna pode conter dados de um determinado tipo. A captura de tela a seguir mostra os tipos de dados da tabela "pessoas" do nosso exemplo.

Um erro é gerado se, por exemplo, você tentar inserir texto ou um número em um campo de dados. Portanto, defina o tipo de dados com a maior precisão possível.

Os tipos de dados mais usados ​​estão listados abaixo:

Significado Tipo de dados O tamanho
CH
Texto ou uma combinação de texto e números. Também pode ser usado para números não usados ​​em cálculos (por exemplo, números de telefone). Até 255 caracteres - qualquer comprimento especificado em "Comprimento"
TEXTO
Grandes blocos de texto ou uma combinação de texto e números. Até 65.535 caracteres
INT
Dados numéricos para cálculos matemáticos. 4 bytes
ENCONTRO
Datas no formato AA-MM-DD 3 bytes
TEMPO
Hora no formato hh:mm:ss 3 bytes
DATA HORA
Data e hora no formato AA-MM-DD hh:mm:ss 8 bytes

Instruções SQL com aspas ou barras invertidas

Se você tentar inserir texto que contenha aspas simples ("), aspas duplas (") ou caracteres de barra invertida (\), o registro não será inserido no banco de dados. A solução é substituir barras invertidas antes de caracteres que devem ser mnemonizados quando inseridos em consultas de banco de dados.