PHP MySQL Inserir Múltiplos
Neste artigo, exploraremos diferentes maneiras de inserir várias linhas de dados em um banco de dados MySQL usando PHP, incluindo MySQLi e PDO.
Também abordaremos algumas boas práticas e como implementá-las para que os dados sejam formatados corretamente e que a consulta seja executada com eficiência.
Ao terminar de ler este artigo, você poderá inserir vários registros em um banco de dados MySQL usando o código PHP.
O processo de inserir vários registros ao mesmo tempo em uma tabela geralmente é necessário ao trabalhar com bancos de dados. Você pode fazer isso no MySQL usando a instrução INSERT com vários conjuntos de valores, que podem ser usados para fazer isso.
Inserir várias linhas usando um loop
O primeiro método para inserir várias linhas de dados em um banco de dados MySQL usando PHP é usando um loop.
Nesse método, criamos um array de dados e percorremos cada elemento do array para inseri-lo no banco de dados.
Aqui está um código de exemplo:
Example:
No exemplo acima, primeiro estabelecemos uma conexão com o banco de dados usando a função mysqli_connect() . Em seguida, criamos uma matriz de dados, que contém três linhas de dados.
Nós percorremos cada linha do array e usamos a função mysqli_query() para inserir a linha na tabela de usuários do nosso banco de dados.
Inserir vários registros usando MySQLi e PDO
Com a função mysqli_multi_query() , várias instruções SQL podem ser executadas ao mesmo tempo.
Usando os exemplos a seguir, você poderá adicionar três novos registros à tabela “ Usuários ”:
Abaixo está um exemplo usando o método Orientado a Objetos do MySQLi:
Example (MySQLi Object-Oriented):
Example (MySQLi Procedural):
Example (PDO):
Exemplo de Explicação
Usando declarações preparadas
Outro método para inserir várias linhas de dados em um banco de dados MySQL usando PHP é usando instruções preparadas.
As instruções preparadas são uma maneira de executar uma instrução várias vezes com diferentes valores de parâmetro.
Abaixo está um exemplo:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Prepare the SQL statement
$sql = "INSERT INTO users (name, email, password) VALUES (?, ?, ?)";
$stmt = mysqli_prepare($conn, $sql);
// Bind parameters and execute the statement multiple times
$name1 = "John";
$email1 = "[email protected]";
$password1 = "password123";
mysqli_stmt_bind_param($stmt, "sss", $name1, $email1, $password1);
mysqli_stmt_execute($stmt);
$name2 = "Jane";
$email2 = "[email protected]";
$password2 = "password456";
mysqli_stmt_bind_param($stmt, "sss", $name2, $email2, $password2);
mysqli_stmt_execute($stmt);
$name3 = "Bob";
$email3 = "[email protected]";
$password3 = "password789";
mysqli_stmt_bind_param($stmt, "sss", $name3, $email3, $password3);
mysqli_stmt_execute($stmt);
// Close the statement and connection
mysqli_stmt_close($stmt);
mysqli_close($conn);
?>
Neste exemplo, estamos inserindo três registros na tabela de usuários. Estamos preparando a instrução SQL, associando parâmetros e executando a instrução várias vezes usando diferentes valores de parâmetro para cada registro.
Você pode repetir a vinculação e executar as etapas quantas vezes forem necessárias para inserir vários registros.
