PHP MySQL: insira dados em uma tabela

Resumo : neste tutorial você aprenderá como usar o PHP PDO para inserir uma ou mais linhas em uma tabela.

Para inserir dados em uma tabela, siga estas etapas:

  • Primeiro, conecte-se ao banco de dados MySQL criando um novo objeto PDO.
  • Em segundo lugar, crie uma declaração preparada por
  • Terceiro, execute a INSERTinstrução com os dados para usar a instrução preparada.

Inserindo uma linha

O insert.phpscript a seguir insere uma nova linha na taskstabela do todobanco de dados:

<?php
require_once 'config.php';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $sql = 'insert into tasks(title) values(:title)';
    $stmt = $conn->prepare($sql);
    $stmt->execute([':title' => 'Learn PHP MySQL']);
} catch (PDOException $e) {
    die($e);
}
Linguagem de código:  HTML, XML  ( xml )

Como funciona.

Primeiro, inclua o config.phparquivo que contém a configuração do banco de dados:

require_once 'config.php';Linguagem de código:  PHP  ( php )

Segundo, estabeleça uma conexão com o banco de dados de tarefas em um servidor MySQL criando uma nova instância do PDO:

$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);Linguagem de código:  PHP  ( php )

Terceiro, construa uma INSERTdeclaração:

$sql = 'insert into tasks(title) values(:title)';Linguagem de código:  PHP  ( php )

O :titleé um espaço reservado parametrizado. Isso ajuda a evitar a injeção de SQL.

Quarto, prepare a instrução SQL para execução:

$stmt = $conn->prepare($sql);Linguagem de código:  PHP  ( php )

Quinto, execute a instrução SQL preparada com o valor fornecido:

$stmt->execute([':title' => 'Learn PHP MySQL']);Linguagem de código:  PHP  ( php )

Esta instrução insere uma nova linha na taskstabela com o título 'Learn PHP MySQL'.

Se ocorrer uma exceção, o script será encerrado e a mensagem de erro será exibida:

} catch (PDOException $e) {
    die($e);
}Linguagem de código:  PHP  ( php )

Verifique a inserção

Primeiro, conecte-se ao banco de dados de tarefas no servidor MySQL:

mysql -u root -p -D todo

Segundo, recupere os dados da tabela de tarefas:

SELECT * FROM tasks;

Saída:

+----+-----------------+-----------+
| id | title           | completed |
+----+-----------------+-----------+
|  1 | Learn PHP MySQL |         0 |
+----+-----------------+-----------+
1 row in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

A saída indica que o script inseriu uma nova linha na tabela com sucesso.

Inserindo múltiplas linhas

Para inserir múltiplas linhas em um banco de dados MySQL usando PDO em PHP, você pode modificar o script para usar uma instrução preparada em um loop.

Por exemplo, o insert-multiple.phpscript a seguir insere duas linhas na taskstabela:

<?php
require_once 'config.php';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

    $sql = 'INSERT INTO tasks(title) VALUES(:title)';
    $stmt = $conn->prepare($sql);
    
    $titles = ['Build a Web Application', 'Grow the App User Base'];
    foreach ($titles as $title) {
        $stmt->execute([':title' => $title]);
    }

} catch (PDOException $e) {
    die($e->getMessage());
}
Linguagem de código:  PHP  ( php )

Resumo

  • Use uma instrução preparada para inserir uma ou mais linhas em uma tabela.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *