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
Mary-Kate Olsenoriginal
2024-11-07 02:59:03712parcourir

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 (?, ?, ?)";

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']);
}

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();

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();

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!

Déclaration:
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