{"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>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>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>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:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR-1024x283.png\" alt=\"\" class=\"wp-image-30339\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR-300x83.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR-150x41.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR-768x212.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/eBook_-Speed-Up-your-website-BR-1536x425.png 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>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>&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:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png\" alt=\"op&ccedil;&atilde;o php my admin para voc&ecirc; inserir dados mysql php\" class=\"wp-image-34452\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt.png 298w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt-268x300.png 268w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2018\/06\/hpanel-databases-phpmyadmin-sidebar-pt-134x150.png 134w\" sizes=\"(max-width: 298px) 100vw, 298px\" \/><\/figure><\/div><p>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>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>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>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>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>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>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>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>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>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>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>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>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>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>Ele simplesmente mostra uma mensagem de sucesso se o pedido que executamos foi realizado.<\/p><p>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>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>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>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>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>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><p class=\"important\">Voc&ecirc; <strong>sempre<\/strong> deve usar declara&ccedil;&otilde;es preparadas quando enviar ou receber dados do banco de dados com PDO.<\/p><\/div><\/p><p>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-32927\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p>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":0},{"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-UK","link":"https:\/\/www.hostinger.com\/uk\/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-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-inserir-dados-no-mysql-com-php","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}],"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}]}}