Inserindo dados em tabelas do PDO

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

As etapas para inserir uma linha em uma tabela

Para inserir uma linha em uma tabela, siga estas etapas:

  • Primeiro, conecte-se ao banco de dados criando um novo PDOobjeto.
  • Em segundo lugar, construa a INSERTdeclaração. Se precisar passar um valor para a INSERTinstrução, você pode usar os placeholders no formato :parameter. Mais tarde, você pode substituir o parameterpelo seu valor.
  • Terceiro, crie uma instrução preparada chamando o prepare()método do objeto PDO. O prepare()método retorna uma instância da PDOStatementclasse.
  • Por fim, chame o execute()método da instrução preparada e passe os valores.

Inserindo uma linha em uma tabela exemplo

O exemplo a seguir mostra como inserir uma nova linha na publisherstabela:

<?php

$pdo = require_once 'connect.php';

// insert a single publisher
$name = 'Macmillan';
$sql = 'INSERT INTO publishers(name) VALUES(:name)';

$statement = $pdo->prepare($sql);

$statement->execute([
	':name' => $name
]);

$publisher_id = $pdo->lastInsertId();

echo 'The publisher id ' . $publisher_id . ' was inserted';Linguagem de código:  HTML, XML  ( xml )

Como funciona.

  • Primeiro, use o connect.phppara se conectar ao bookldbbanco de dados.
  • A seguir, construa uma INSERTinstrução SQL. O :nameé o espaço reservado que será substituído pelo nome do editor.
  • Em seguida, prepare a INSERTinstrução para execução chamando o prepare()método da $pdoinstância. O método prepare() retorna uma instância da PDOStatementclasse.
  • Depois disso, execute a instrução preparada passando os valores para o execute()método.
  • Por fim, obtenha o id inserido chamando o lastInsertId()método do objeto PDO.

Observe que este tutorial usa o connect.phpscript desenvolvido no tutorial de conexão com o banco de dados .

Exemplo de inserção de múltiplas linhas em uma tabela

Para inserir várias linhas em uma tabela, você precisa chamar execute()o método várias vezes. O método insere uma nova linha na tabela em cada chamada. Por exemplo:

<?php

$pdo = require_once 'connect.php';

$names = [
	'Penguin/Random House',
	'Hachette Book Group',
	'Harper Collins',
	'Simon and Schuster'
];

$sql = 'INSERT INTO publishers(name) VALUES(:name)';

$statement = $pdo->prepare($sql);

foreach ($names as $name) {
	$statement->execute([
		':name' => $name
	]);
}Linguagem de código:  HTML, XML  ( xml )

Neste exemplo, temos uma lista de editores armazenados no $namesarray.

Para inserir esses editores na publisherstabela, iteramos sobre os elementos do $namesarray usando foreache inserimos cada elemento na tabela.

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 *