"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como inserir múltiplas linhas em um banco de dados com instruções preparadas pelo PDO?

Como inserir múltiplas linhas em um banco de dados com instruções preparadas pelo PDO?

Publicado em 2024-11-16
Navegar:838

How to Insert Multiple Rows into a Database with PDO Prepared Statements?

Inserindo múltiplas linhas com instruções preparadas PDO

Inserir múltiplas linhas em um banco de dados usando uma única instrução preparada não só é possível, mas também recomendado para sua eficiência e segurança.

Abordagem com uma única consulta de inserção

O primeiro método envolve o uso de um consulta INSERT única com vários valores:

INSERT INTO Table (col1, col2, col3) 
VALUES ('abc', 'def', 'ghi'),
       ('abc', 'def', 'ghi'),
       ('abc', 'def', 'ghi'),
       ('abc', 'def', 'ghi'),
       ('abc', 'def', 'ghi')
       -- and so on...

Para executar esta consulta usando PDO, você pode seguir estes passos:

$query = "INSERT INTO Table (col1, col2, col3) 
VALUES (?, ?, ?),
       (?, ?, ?),
       (?, ?, ?)
";
$params = array('abc', 'def', 'ghi', 'abc', 'def', 'ghi', 'abc', 'def', 'ghi');
$stmt = DB::getInstance()->prepare($query);
$stmt->execute($params);

Abordagem com consultas de inserção individuais

Se o número de linhas a serem inseridas for muito grande, pode ser necessário execute consultas de inserção individuais:

$query = "INSERT INTO Table (col1, col2, col3) VALUES (".implode(',', $args).")";
$stmt = $pdo->prepare($query);

foreach ($rows as $row) 
{
   $stmt->execute($row);
}

Essa abordagem garante que cada linha seja inserida separadamente, minimizando o risco de problemas durante a inserção.

Conclusão

Se você usar uma única inserção consulta com vários valores ou consultas de inserção individuais, as instruções preparadas pelo PDO fornecem métodos eficientes e seguros para inserir várias linhas em um banco de dados. A escolha da abordagem correta depende dos requisitos específicos do aplicativo e do banco de dados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3