Maison > base de données > tutoriel mysql > Comment insérer plusieurs lignes dans une base de données MySQL avec une seule requête PDO ?

Comment insérer plusieurs lignes dans une base de données MySQL avec une seule requête PDO ?

Mary-Kate Olsen
Libérer: 2024-11-07 02:59:03
original
690 Les gens l'ont consulté

How to Insert Multiple Rows into a MySQL Database with a Single PDO Query?

PDO MySQL : insertion de plusieurs lignes dans une seule requête avec BindValues

Pour insérer plusieurs lignes dans une base de données MySQL dans une requête à l'aide de PHP Data Objects (PDO), pensez les étapes suivantes :

1. Préparez la requête :
Créez une chaîne de requête personnalisable en utilisant des espaces réservés pour les valeurs que vous souhaitez insérer. Par exemple :

$query = "INSERT INTO $table (key1, key2, key3) VALUES (?, ?, ?)";
Copier après la connexion

2. Lier les valeurs aux espaces réservés :
Utilisez la méthode bindValue() de l'instruction préparée pour lier les valeurs de votre tableau de données aux espaces réservés de la requête.

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item['key1']);
    $stmt->bindValue($i++, $item['key2']);
    $stmt->bindValue($i++, $item['key3']);
}
Copier après la connexion

3. Exécutez la requête :
Enfin, exécutez l'instruction préparée, qui insérera toutes les valeurs liées dans la base de données.

$stmt->execute();
Copier après la connexion

Exemple :
Voici un exemple de la façon d'implémenter cette technique dans votre code :

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');

$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?), (?, ?), (?, ?)";

$data = [
    ['value1', 'value2'],
    ['value3', 'value4'],
    ['value5', 'value6'],
];

$stmt = $pdo->prepare($query);

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item[0]);
    $stmt->bindValue($i++, $item[1]);
}

$stmt->execute();
Copier après la connexion

En utilisant cette méthode, vous pouvez insérer efficacement plusieurs lignes dans une base de données MySQL avec une seule requête, en évitant les limitations du code d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal