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
INSERT
instrução com os dados para usar a instrução preparada.
Inserindo uma linha
O insert.php
script a seguir insere uma nova linha na tasks
tabela do todo
banco 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.php
arquivo 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 INSERT
declaraçã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 tasks
tabela 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.php
script a seguir insere duas linhas na tasks
tabela:
<?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.