Como inserir dados no MySQL com PHP
Como inserir dados no MySQL com PHP
Conteúdo
O que você vai precisar
1º Passo – Criando uma tabela para inserir dados MySQL PHP
2º Passo — Escrevendo código PHP para inserir dados no banco de dados
MySQL
3º Passo — Confirmando o sucesso da operação e resolvendo erros comuns
Conclusão
Você vai cair numa tela chamada Lista de Banco de Dados. A partir
daqui, clique na opção Entra phpMyAdmin. Oriente-se pela imagem
abaixo.
Nós vamos criar uma tabela chamada Students para o nosso banco
de dados u266072517_name. Você pode criar uma nova tabela
clicando em Create Table. Depois disso, você verá esta nova página
onde você pode inserir todas as informações necessárias para sua
tabela:
Esta é a configuração mais simples que você pode usar para uma
tabela, para mais informações sobre a estrutura da tabela/ banco de
dados e quais os tipos configurações você pode usar com esta coluna,
consulte o documento oficial do phpMyAdmin.
Por enquanto, veja uma breve explicação das colunas que usamos:
1. <?php
2. $servername = "mysql.hostinger.co.uk";
3. $database = "u266072517_name";
4. $username = "u266072517_user";
5. $password = "buystuffpwd";
6.
7. // Create connection
8.
9. $conn = mysqli_connect($servername, $username, $password,
$database);
10.
11. // Check connection
12.
13. if (!$conn) {
14. die("Connection failed: " . mysqli_connect_error());
15. }
16.
17. echo "Connected successfully";
18.
19. $sql = "INSERT INTO Students (name, lastname, email)
VALUES ('Thom', 'Vial', 'thom.v@some.com')";
20. if (mysqli_query($conn, $sql)) {
21. echo "New record created successfully";
22. } else {
23. echo "Error: " . $sql . "<br>" . mysqli_error($conn);
24. }
25. mysqli_close($conn);
26.
27. ?>
1. if (mysqli_query($conn, $sql)) {
2. echo "New record created successfully";
3. }
1. else {
2. echo "Error: " . $sql . "<br>" . mysqli_error($conn);
3. }
Ele vai mostrar uma mensagem de erro caso algo dê errado. Se isso
aparecer, significa que você não foi capaz de inserir dados MySQL
PHP.
Esse é um segundo método que você pode usar para inserir dados
MySQL PHP. Assim como os exemplos anteriores, precisamos
primeiro de uma conexão com o banco de dados criando um novo
objeto PDO. Para isso, use este tutorial. Como a conexão ao banco de
dados MySQL é um objeto PDO, você deve usar vários métodos PDO
(qualquer função que seja parte de qualquer objeto) para preparar e
fazer os pedidos. Os métodos de objetos são chamados assim:
1. $the_Object->the_Method();
O PDO permite que você “prepare” o código SQL antes dele ser
executado. A SQL Query é avaliada e “corrigida” antes de ser
executada. Um ataque de injeção de SQL simplificado poderia ser
feito apenas escrevendo o código SQL em um campo de um
formulário. Por exemplo:
No código correto:
1. <?php
2. $servername = "mysql.hostinger.com";
3. $database = "u266072517_name";
4. $username = "u266072517_user";
5. $password = "buystuffpwd";
6. $sql = "mysql:host=$servername;dbname=$database;";
7. $dsn_Options = [PDO::ATTR_ERRMODE =>
PDO::ERRMODE_EXCEPTION];
8.
9. // Create a new connection to the MySQL database using PDO,
$my_Db_Connection is an object
10. try {
11. $my_Db_Connection = new PDO($sql, $username,
$password, $dsn_Options);
12. echo "Connected successfully";
13. } catch (PDOException $error) {
14. echo 'Connection error: ' . $error->getMessage();
15. }
16.
17. // Set the variables for the person we want to add to the
database
18. $first_Name = "Thom";
19. $last_Name = "Vial";
20. $email = "thom.v@some.com";
21.
22. // Here we create a variable that calls the prepare() method
of the database object
23. // The SQL query you want to run is entered as the
parameter, and placeholders are written like
this :placeholder_name
24. $my_Insert_Statement = $my_Db_Connection-
>prepare("INSERT INTO Students (name, lastname, email)
VALUES (:first_name, :last_name, :email)");
25.
26. // Now we tell the script which variable each placeholder
actually refers to using the bindParam() method
27. // First parameter is the placeholder in the statement above -
the second parameter is a variable that it should refer to
28. $my_Insert_Statement->bindParam(:first_name,
$first_Name);
29. $my_Insert_Statement->bindParam(:last_name,
$last_Name);
30. $my_Insert_Statement->bindParam(:email, $email);
31.
32. // Execute the query using the data we just defined
33. // The execute() method returns TRUE if it is successful and
FALSE if it is not, allowing you to write your own messages here
34. if ($my_Insert_Statement->execute()) {
35. echo "New record created successfully";
36. } else {
37. echo "Unable to create record";
38. }
39.
40. // At this point you can change the data of the variables and
execute again to add more data to the database
41. $first_Name = "John";
42. $last_Name = "Smith";
43. $email = "john.smith@email.com";
44. $my_Insert_Statement->execute();
45.
46. // Execute again now that the variables have changed
47. if ($my_Insert_Statement->execute()) {
48. echo "New record created successfully";
49. } else {
50. echo "Unable to create record";
51. }
MySQLi
Como você pode ver, nós usamos as chaves “{}” em vez dos
colchetes “[]”. E isso não está correto, algo que fez nosso script
aponta o erro e falhar a execução.
PDO
Conclusão
Neste tutorial, você aprendeu como inserir dados no MySQL com PHP
usando MySQLi e PDO. Você também aprendeu a como solucionar
problemas de comuns de conexão. Inserir dados no MySQL com PHP é
extremamente útil para quem está aprendendo como codificar ou
construir um site. •