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!