{"id":9881,"date":"2020-08-06T12:37:03","date_gmt":"2020-08-06T15:37:03","guid":{"rendered":"https:\/\/blog.hostinger.io\/pt-tutoriais\/?p=9881"},"modified":"2026-03-10T13:01:14","modified_gmt":"2026-03-10T16:01:14","slug":"como-inserir-dados-no-mysql-com-php","status":"publish","type":"post","link":"\/pt\/tutoriais\/como-inserir-dados-no-mysql-com-php\/","title":{"rendered":"Como usar PHP para inserir dados num banco de dados MySQL"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Neste tutorial, voc&ecirc; vai aprender como <strong>INSERIR<\/strong> dados no seu banco de dados MySQL a partir de scripts <strong>PHP<\/strong>. Existem dois m&eacute;todos que voc&ecirc; pode usar, MySQLi e PDO.<\/p><p class=\"wp-block-paragraph\">Antes de voc&ecirc; come&ccedil;ar esse guia de inser&ccedil;&atilde;o no MySQL via PHP, voc&ecirc; vai precisar de acesso ao painel de controle do seu <a href=\"\/pt\/hospedagem-barata\" target=\"_blank\" rel=\"noopener\">servidor de hospedagem<\/a>.<\/p><p class=\"wp-block-paragraph\">Se voc&ecirc; ainda tem d&uacute;vidas sobre como configurar sua conex&atilde;o MySQL, pode conferir este tutorial sobre <a href=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/como-conectar-php-com-mysql\/\" target=\"_blank\" rel=\"noopener\"><strong>PHPMySQL<\/strong><\/a>, que cobre os passos mais importantes de trabalhar com PHP e bancos de dados.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Speed-Up-Your-Website-BR.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-30339\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-como-criar-uma-tabela-opcional\"><strong>Como Criar uma Tabela (Opcional)<\/strong><\/h2><p class=\"wp-block-paragraph\">Primeiro, temos que criar uma tabela para os seus dados. Se voc&ecirc; j&aacute; criou uma, siga em frente para a pr&oacute;xima se&ccedil;&atilde;o.<\/p><p class=\"wp-block-paragraph\">&Eacute; um processo muito simples que voc&ecirc; pode fazer com o <strong>phpMyAdmin, <\/strong>que &eacute; localizado no painel de controle da sua hospedagem.<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"298\" height=\"333\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png\/public\" alt=\"op&ccedil;&atilde;o php my admin para voc&ecirc; inserir dados mysql php\" class=\"wp-image-34452\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png\/w=298,fit=scale-down 298w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png\/w=268,fit=scale-down 268w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png\/w=134,fit=scale-down 134w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">Depois de fazer login na sua p&aacute;gina de phpMyAdmin, voc&ecirc; dever&aacute; ver algo parecido com a imagem abaixo:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"389\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin.png\" alt=\"acesso &agrave; estrutura do banco de dados para inserir dados mysql php\" class=\"wp-image-9902\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin-150x57.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin-300x114.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin-768x292.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/estrutura-do-banco-de-dados-depois-de-acessar-entra-phymyadmin-990x376.png 990w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p class=\"wp-block-paragraph\">DN&oacute;s vamos criar uma tabela chamada <strong>Students <\/strong>para o nosso banco de dados <strong>u266072517_name. <\/strong>Voc&ecirc; pode criar uma nova tabela clicando em <strong>Create Table<\/strong>. Depois disso, voc&ecirc; ver&aacute; esta nova p&aacute;gina onde voc&ecirc; pode inserir todas as informa&ccedil;&otilde;es necess&aacute;rias para sua tabela:<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"334\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin.png\" alt=\"um exemplo de tabela para inserir dados mysql php\" class=\"wp-image-9903\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin-150x49.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin-300x98.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin-768x250.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/exemplo-de-tabela-phymyadmin-990x323.png 990w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p class=\"wp-block-paragraph\">Esta &eacute; a configura&ccedil;&atilde;o mais simples que voc&ecirc; pode usar para uma tabela, para mais informa&ccedil;&otilde;es sobre a estrutura da tabela\/ banco de dados e quais os tipos configura&ccedil;&otilde;es voc&ecirc; pode usar com esta coluna, consulte o documento oficial do <a href=\"https:\/\/www.phpmyadmin.net\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>phpMyAdmin<\/strong><\/a>.<\/p><p class=\"wp-block-paragraph\">Por enquanto, veja uma breve explica&ccedil;&atilde;o das colunas que usamos:<\/p><ul class=\"wp-block-list\">\n<li><strong>Name<\/strong> &ndash; Este &eacute; o nome da sua coluna. Ser&aacute; exibido no topo da sua tabela.<\/li>\n\n\n\n<li><strong>Type<\/strong> &ndash; Aqui voc&ecirc; pode configurar o tipo da coluna aqui. Por exemplo, n&oacute;s selecionamos <strong>varchar<\/strong> porque precisamos selecionar um tipo de nome aqui (que tenha letras, n&atilde;o n&uacute;meros).<\/li>\n\n\n\n<li><strong>Length\/Values<\/strong> &ndash; Usado para especificar o comprimento m&aacute;ximo que sua entrada nesta coluna possa ter.<\/li>\n\n\n\n<li><strong>Index<\/strong> &ndash; N&oacute;s usamos o &iacute;ndice &ldquo;Primary&rdquo; para o campo &ldquo;ID&rdquo;. Ao criar uma tabela, &eacute; recomendado ter uma coluna ID. &Eacute; usado para enumerar entradas da tabela e necess&aacute;ria quando configurar a tabela. Tamb&eacute;m selecionamos <strong>&ldquo;A_I&rdquo;<\/strong>, que significa <strong>Auto Increment. <\/strong>Isto vai enumerar as entradas automaticamente (1, 2, 3, 4&hellip;).<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Clique em <strong>Save<\/strong> (Salvar) e sua tabela estar&aacute; pronta.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-escrever-o-codigo-php-para-inserir-dados-no-banco-de-dados-mysql\"><strong>Como Escrever o C&oacute;digo PHP para Inserir Dados no Banco de Dados MySQL<\/strong><\/h2><p class=\"wp-block-paragraph\">Existe dois m&eacute;todos que voc&ecirc; pode usar para fazer o <strong>INSERT<\/strong> (Inser&ccedil;&atilde;o) de dados na sua <em>database<\/em> MySQL. S&atilde;o eles: m&eacute;todo PHP MySQLi e PHP Data Object (ou m&eacute;todo PDO).<\/p><h3 class=\"wp-block-heading\" id=\"h-metodo-mysqli\">M&eacute;todo <a href=\"https:\/\/www.php.net\/manual\/en\/book.mysqli.php\" target=\"_blank\" rel=\"noopener\">MySQLi<\/a><\/h3><p class=\"wp-block-paragraph\">Primeiro de tudo, voc&ecirc; deve estabelecer uma conex&atilde;o com o banco de dados. Depois dessa etapa, podemos prosseguir com o <strong>INSERT<\/strong> do <em>query<\/em> do MySQL. Aqui est&aacute; um exemplo de c&oacute;digo completo com os m&eacute;todos b&aacute;sicos de conex&atilde;o e inser&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">&lt;?php\n$servername = \"mysql.hostinger.co.uk\";\n$database = \"u266072517_name\";\n$username = \"u266072517_user\";\n$password = \"buystuffpwd\";\n\/\/ Create connection\n$conn = mysqli_connect($servername, $username, $password, $database);\n\/\/ Check connection\nif (!$conn) {\n      die(\"Connection failed: \" . mysqli_connect_error());\n}\n \necho \"Connected successfully\";\n \n$sql = \"INSERT INTO Students (name, lastname, email) VALUES ('Test', 'Testing', 'Testing@tesing.com')\";\nif (mysqli_query($conn, $sql)) {\n      echo \"New record created successfully\";\n} else {\n      echo \"Error: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\n}\nmysqli_close($conn);\n?&gt;\n<\/pre><p class=\"wp-block-paragraph\">A primeira parte do c&oacute;digo (linhas <strong>3 &ndash; 18<\/strong>) &eacute; sobre a atual conex&atilde;o do banco de dados. N&atilde;o vamos passar pelo processo todo novamente. Contudo, se voc&ecirc; deseja saber o que cada linha de c&oacute;digo significa, confira nosso tutorial sobre <a href=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/como-conectar-php-com-mysql\/\" target=\"_blank\" rel=\"noopener\"><strong>como se conectar a um banco de dados<\/strong><\/a>.<\/p><p class=\"wp-block-paragraph\">Vamos come&ccedil;ar pela linha <strong>19<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">$sql = \"INSERT INTO Students (name, lastname, email) VALUES ('Test', 'Testing', 'Testing@tesing.com')\";<\/pre><p class=\"wp-block-paragraph\">Esta &eacute; a linha mais importante do nosso c&oacute;digo e que executa tudo o que a gente quer aprender neste tutorial &ndash; inserir dados MySQL PHP. O <strong>INSERT INTO<\/strong> &eacute; uma instru&ccedil;&atilde;o que adiciona dados em banco de dados espec&iacute;ficos da tabela. Neste exemplo, estamos adicionando dados &agrave; tabela <strong>Students<\/strong>.<\/p><p class=\"wp-block-paragraph\">Seguindo adiante, entre os colchetes, temos as colunas de tabela para as quais queremos adicionar valores (<strong>name<\/strong>, <strong>lastname<\/strong>, <strong>email<\/strong>). Os dados v&atilde;o ser preenchidos na ordem especificada. Se escrev&ecirc;ssemos (email, lastname, name), os valores seriam adicionados na ordem errada.<\/p><p class=\"wp-block-paragraph\">A pr&oacute;xima parte &eacute; sobre a declara&ccedil;&atilde;o <strong>VALUES<\/strong>. Aqui especificamos os valores para as colunas determinadas anteriormente. Dessa maneira, cada coluna representa um valor espec&iacute;fico. Por exemplo, no nosso caso ele seria: <strong>name = Thom, lastname = Vial, email = thom.v@some.com<\/strong>.<\/p><p class=\"wp-block-paragraph\">Outra coisa relevante &eacute; que acabamos de executar a <strong>SQL Query<\/strong> usando um c&oacute;digo PHP. &nbsp;Lembrando que as SQL Queries devem ser posicionados entre as cita&ccedil;&otilde;es. No nosso exemplo, tudo o que est&aacute; entre cita&ccedil;&otilde;es e depois de $sql = &eacute; uma SQL Query. &nbsp;<\/p><p class=\"wp-block-paragraph\">A pr&oacute;xima parte do c&oacute;digo (linhas <strong>20 &ndash; 22<\/strong>) mostra se nosso pedido foi feito com sucesso.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">if (mysqli_query($conn, $sql)) {\n     echo \"New record created successfully\";\n}<\/pre><p class=\"wp-block-paragraph\">Ele simplesmente mostra uma mensagem de sucesso se o pedido que executamos foi realizado.<\/p><p class=\"wp-block-paragraph\">E a parte final (linhas <strong>22 &ndash; 24<\/strong>) mostra uma mensagem diferente caso o pedido n&atilde;o seja executado com sucesso:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">else {\n     echo \"Error: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\n}<\/pre><p class=\"wp-block-paragraph\">Ele vai mostrar uma mensagem de erro caso algo d&ecirc; errado.<\/p><h3 class=\"wp-block-heading\" id=\"h-metodo-php-data-object-pdo\">M&eacute;todo <a href=\"https:\/\/www.php.net\/manual\/en\/book.pdo.php\" target=\"_blank\" rel=\"noopener\">PHP Data Object<\/a> (PDO)<\/h3><p class=\"wp-block-paragraph\">Assim como no exemplo anterior, precisamos primeiro de uma conex&atilde;o com o banco de dados criando um novo objeto PDO. Para isso, use <a href=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/como-conectar-php-com-mysql\/\" target=\"_blank\" rel=\"noopener\">este tutorial<\/a>.<\/p><p class=\"wp-block-paragraph\">Como a conex&atilde;o ao banco de dados MySQL &eacute; um objeto PDO, voc&ecirc; deve usar v&aacute;rios <strong>m&eacute;todos<\/strong> PDO (qualquer fun&ccedil;&atilde;o que seja parte de qualquer objeto) para preparar e fazer os pedidos. Os m&eacute;todos de objetos s&atilde;o chamados assim:<\/p><pre class=\"rich-text block-editor-rich-text__editable wp-block-preformatted\" role=\"textbox\" aria-label=\"Escreva um texto pr&eacute;-formatado...\" data-gramm=\"false\">$the_Object-&gt;the_Method();<\/pre><p class=\"wp-block-paragraph\">O PDO permite que voc&ecirc; <strong>prepare<\/strong> o c&oacute;digo SQL antes dele ser executado. A SQL Query &eacute; avaliada e <strong>corrigida<\/strong> antes de ser executada. Um ataque de inje&ccedil;&atilde;o de SQL simplificado poderia ser feito apenas escrevendo o c&oacute;digo SQL em um campo de um formul&aacute;rio. Por exemplo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">\/\/ User writes this in the username field of a login form\njohn\"; DROP DATABASE user_table;\n\/\/ The final query becomes this\n\"SELECT * FROM user_table WHERE username = john\"; DROP DATABASE user_table;<\/pre><p class=\"wp-block-paragraph\">Como existe um c&oacute;digo de SQL sintaticamente correto, o ponto e v&iacute;rgula faz do <strong>DROP DATABASE user_table<\/strong> uma nova SQL Query, e a sua tabela &eacute; apagada. Declara&ccedil;&otilde;es preparadas n&atilde;o permitem os caracteres de aspas (&ldquo;) e nem ponto e v&iacute;rgula (;) no final da solicita&ccedil;&atilde;o original e a instru&ccedil;&atilde;o maliciosa <strong>DROP DATABASE<\/strong> nunca ser&aacute; executada.<\/p><p><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                Voc&ecirc; <strong>sempre<\/strong> deve usar declara&ccedil;&otilde;es preparadas quando enviar ou receber dados do banco de dados com PDO.\n            <\/p><\/div><\/p><p class=\"wp-block-paragraph\">Para usar declara&ccedil;&otilde;es preparadas, voc&ecirc; deve escrever uma nova variante que chame o m&eacute;todo <strong>prepare()<\/strong> do objeto do banco de dados.<\/p><p class=\"wp-block-paragraph\">No c&oacute;digo correto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">&lt;?php\n$servername = \"mysql.hostinger.com\";\n$database = \"u266072517_name\"; \n$username = \"u266072517_user\";\n$password = \"buystuffpwd\";\n$sql = \"mysql:host=$servername;dbname=$database;\";\n$dsn_Options = [PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION];\n\/\/ Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object\ntry { \n  $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options);\n  echo \"Connected successfully\";\n} catch (PDOException $error) {\n  echo 'Connection error: ' . $error-&gt;getMessage();\n}\n\/\/ Set the variables for the person we want to add to the database\n$first_Name = \"Thom\";\n$last_Name = \"Vial\";\n$email = \"thom.v@some.com\";\n\/\/ Here we create a variable that calls the prepare() method of the database object\n\/\/ The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name\n$my_Insert_Statement = $my_Db_Connection-&gt;prepare(\"INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)\");\n\/\/ Now we tell the script which variable each placeholder actually refers to using the bindParam() method\n\/\/ First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to\n$my_Insert_Statement-&gt;bindParam(':first_name', $first_Name);\n$my_Insert_Statement-&gt;bindParam(':last_name', $last_Name);\n$my_Insert_Statement-&gt;bindParam(':email', $email);\n\/\/ Execute the query using the data we just defined\n\/\/ The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here\nif ($my_Insert_Statement-&gt;execute()) {\n  echo \"New record created successfully\";\n} else {\n  echo \"Unable to create record\";\n}\n\/\/ At this point you can change the data of the variables and execute again to add more data to the database\n$first_Name = \"John\";\n$last_Name = \"Smith\";\n$email = \"john.smith@email.com\";\n$my_Insert_Statement-&gt;execute();\n\/\/ Execute again now that the variables have changed\nif ($my_Insert_Statement-&gt;execute()) {\n  echo \"New record created successfully\";\n} else {\n  echo \"Unable to create record\";\n}<\/pre><p class=\"wp-block-paragraph\">Nas linhas <strong>28<\/strong>, <strong>29<\/strong> e <strong>30<\/strong>, n&oacute;s usamos o m&eacute;todo <strong>bindParam() <\/strong>do objeto do banco de dados. Tamb&eacute;m existe um m&eacute;todo <strong>bindValue() <\/strong>que &eacute; bem diferente.<\/p><ul class=\"wp-block-list\">\n<li><strong>bindParam() &ndash;<\/strong> Esse m&eacute;todo avalia dados quando o m&eacute;todo<strong> execute() <\/strong>&eacute; alcan&ccedil;ado. A primeira vez que o script alcan&ccedil;a um m&eacute;todo <strong>execute()<\/strong> ele v&ecirc; que o <strong>$first_Name<\/strong> corresponde ao &ldquo;Thom&rdquo;, vincula aquele valor e executa a consulta. Quando o script alcan&ccedil;a o segundo m&eacute;todo execute(), ele v&ecirc; o <strong>$first_Name<\/strong> agora corresponde a &ldquo;John&rdquo;, vincula aquele valor e executa a consulta novamente com os novos valores. O que &eacute; importante de se lembrar &eacute; que n&oacute;s definimos a consulta uma vez a reusamos com dados diferentes em diferentes pontos do script.<\/li>\n\n\n\n<li><strong>bindValue() &ndash;<\/strong> Esse m&eacute;todo avalia os dados assim que o <strong>bindValue() <\/strong>&eacute; alcan&ccedil;ado. Como o valor do <strong>$first_Name<\/strong> foi definido como &ldquo;Thom&rdquo; quando o<strong> bindValue()<\/strong> foi alcan&ccedil;ado, ele ser&aacute; usado toda vez que um m&eacute;todo <strong>execute()<\/strong> for chamado para <strong>$my_Insert_Statement<\/strong>. &nbsp;<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Perceba que n&oacute;s usamos a variante <strong>$first_Name<\/strong> e demos a ela um outro valor na segunda vez. Se voc&ecirc; conferir o banco de dados depois de executar o script, voc&ecirc; ter&aacute; ambos os nomes definidos, apesar da vari&aacute;vel <strong>$first_Name<\/strong> ser equivalente a &ldquo;John&rdquo; ao final do script. Lembre-se que o PHP avalia o script inteiro antes de realmente execut&aacute;-lo.<\/p><p class=\"wp-block-paragraph\">Se voc&ecirc; atualizar o script e substituir <strong>bindParam <\/strong>com <strong>bindValue<\/strong>, voc&ecirc; vai inserir &ldquo;Thom Vail&rdquo; duas vezes no banco de dados e &ldquo;John Smith&rdquo; ser&aacute; ignorado.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-confirmar-o-sucesso-da-operacao-e-resolver-erros-comuns\"><strong>Como Confirmar o Sucesso da Opera&ccedil;&atilde;o e Resolver Erros Comuns<\/strong><\/h2><p class=\"wp-block-paragraph\">Se a solicita&ccedil;&atilde;o que executamos e inserimos no banco de dados MySQL deu certo, voc&ecirc; ver&aacute; uma mensagem como a de baixo. Basicamente, ela diz que a conex&atilde;o foi feita com sucesso e um novo registro foi criado tamb&eacute;m com sucesso. Em outras palavras, voc&ecirc; conseguiu <strong>inserir dados MySQL PHP<\/strong>.<\/p><pre class=\"wp-block-preformatted\">Connect Successfully\nNew record created successfully<\/pre><h3 class=\"wp-block-heading\" id=\"h-como-resolver-erros-comuns\">Como Resolver Erros Comuns<\/h3><p class=\"wp-block-paragraph\">Contudo, existem situa&ccedil;&otilde;es onde o novo registro apresentar&aacute; um erro com a inser&ccedil;&atilde;o do SQL. Mas n&atilde;o se preocupe, existem algumas maneiras de corrigir esses erros de MySQL.<\/p><h4 class=\"wp-block-heading\" id=\"h-mysqli\">MySQLi<\/h4><p class=\"wp-block-paragraph\">Em qualquer outro caso, uma imagem de erro vai aparecer. Por exemplo, vamos fazer um erro de sintaxe no nosso c&oacute;digo e a mensagem que vai aparecer &eacute; algo bem parecido com a de baixo.<\/p><pre class=\"wp-block-preformatted\">Connect successfully\nError: INSERT INTO students {name, lastname, email} VALUES ('Test', 'Testing', 'Testing@testing.com')\nYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Test', 'Testing', 'Test@testingcom')' at line 1\"<\/pre><p class=\"wp-block-paragraph\">Como podemos ver, a primeira parte do nosso c&oacute;digo est&aacute; boa. A conex&atilde;o foi estabelecida com sucesso, mas nossa&nbsp; SQL Query esbarrou num erro.<\/p><pre class=\"wp-block-preformatted\">\"Error: INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')' at line 1\"<\/pre><p class=\"wp-block-paragraph\">Existe um erro de sintaxe que, infelizmente, fez o nosso script dar erro. O erro estava aqui:<\/p><pre class=\"wp-block-preformatted\">$sql = \"INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')\";<\/pre><p class=\"wp-block-paragraph\">Como voc&ecirc; pode ver, n&oacute;s usamos as chaves &ldquo;{}&rdquo; em vez dos colchetes &ldquo;[]&rdquo;. E isso n&atilde;o est&aacute; correto, algo que fez nosso script aponta o erro e falhar a execu&ccedil;&atilde;o.<\/p><h4 class=\"wp-block-heading\" id=\"h-pdo\">PDO<\/h4><p class=\"wp-block-paragraph\">Na linha 7 da conex&atilde;o PDO, o modo de erro est&aacute; configurado para <strong>mostrar todas as exce&ccedil;&otilde;es<\/strong>. Se isso tivesse deixado fora do script e a solicita&ccedil;&atilde;o tivesse falhado, voc&ecirc; n&atilde;o receberia nenhuma mensagem de erro. Com as exce&ccedil;&otilde;es habilitadas, &eacute; o problema espec&iacute;fico que aparece, aumentando suas chances de resolv&ecirc;-lo.<\/p><p class=\"wp-block-paragraph\">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&ecirc; 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&oacute;digo abaixo.<\/p><pre class=\"wp-block-preformatted\">Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; &lt;code&gt;check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')' at line 1\"&lt;\/code&gt;<\/pre><p class=\"wp-block-paragraph\">Outros poss&iacute;veis problemas que voc&ecirc; pode encontrar:<\/p><ul class=\"wp-block-list\">\n<li>Colunas especificadas incorretamente (colunas n&atilde;o-existentes ou com erros de ortografia).<\/li>\n\n\n\n<li>Um tipo de valor sendo atribu&iacute;do a outro tipo de coluna. Por exemplo, se tent&aacute;ssemos atribuir o n&uacute;mero &ldquo;<strong>47&rdquo; <\/strong>na coluna <strong>Name, <\/strong>vamos encontrar um erro pois deve ser um valor de sequ&ecirc;ncia. Mas se for atribu&iacute;do um n&uacute;mero entre as aspas, por exemplo &ldquo;<strong>47<\/strong>&rdquo;, isso funcionaria porque nosso n&uacute;mero funcionaria porque nosso n&uacute;mero seria atribu&iacute;do como uma string &agrave; coluna.<\/li>\n\n\n\n<li>Tentar inserir dados em uma tabela que n&atilde;o existe ou cometer erros de digita&ccedil;&atilde;o.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Todos estes erros podem ser corrigidos facilmente se voc&ecirc; seguir as instru&ccedil;&otilde;es da mensagem de erro ou <a href=\"\/tutorials\/website\/how-to-check-your-website-error-log\/\">corrigir nsagens de erros<\/a>.<\/p><p class=\"wp-block-paragraph\">Depois de adicionar dados de forma bem sucedida, devemos v&ecirc;-los adicionados ao nosso banco de dados. Aqui est&aacute; um exemplo de tabela e que adicionamos nossos dados vista do <strong>phpMyAdmin<\/strong>.<\/p><figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2018\/05\/conex%C3%A3o-mysql-com-php-estabelecida-e-tabela-criada.png\" alt=\"conex&atilde;o feita com sucesso ao inserir dados mysql php\" class=\"wp-image-9905\"><\/figure><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/hospedagem-barata\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-32927\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p class=\"wp-block-paragraph\">Neste tutorial, voc&ecirc; aprendeu como <strong>inserir<\/strong> dados no MySQL com <strong>PHP<\/strong> usando <strong>MySQLi<\/strong> e <strong>PDO<\/strong>. Voc&ecirc; tamb&eacute;m aprendeu a como solucionar problemas de comuns de conex&atilde;o. Inserir dados no MySQL com PHP &eacute; extremamente &uacute;til para quem est&aacute; aprendendo como codificar ou construir um site.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste tutorial, voc&ecirc; vai aprender como INSERIR dados no seu banco de dados MySQL a partir de scripts PHP. Existem dois m&eacute;todos que voc&ecirc; pode usar, MySQLi e PDO. Antes de voc&ecirc; come&ccedil;ar esse guia de inser&ccedil;&atilde;o no MySQL via PHP, voc&ecirc; vai precisar de acesso ao painel de controle do seu servidor de hospedagem. [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/como-inserir-dados-no-mysql-com-php\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":92,"featured_media":20475,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como Usar PHP para Inserir Dados num Banco de Dados MySQL","rank_math_description":"Quer tirar o m\u00e1ximo proveito do seu banco de dados? Saiba como usar a PHP para inserir informa\u00e7\u00f5es nele e gerenciar tudo no MySQL!","rank_math_focus_keyword":"inserir dados mysql php","footnotes":""},"categories":[4916],"tags":[4833,5547,5548,4857,5546,5545,4865],"class_list":["post-9881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-banco-de-dados","tag-codigos","tag-linguaguem-de-programacao","tag-mysql","tag-mysqli","tag-pdo","tag-php"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-inserir-dados-no-mysql-com-php\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/inserer-des-donnees-dans-une-table-mysql-php\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-input-data-ke-database-dengan-php\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/usar-php-insertar-datos-mysql\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/usar-php-insertar-datos-mysql\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/usar-php-insertar-datos-mysql\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-inserir-dados-no-mysql-com-php\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/9881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/92"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=9881"}],"version-history":[{"count":30,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/9881\/revisions"}],"predecessor-version":[{"id":36023,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/9881\/revisions\/36023"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/20475"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=9881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=9881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=9881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}