Insérer plusieurs lignes avec des instructions préparées PDO
L'insertion de plusieurs lignes dans une base de données à l'aide d'une seule instruction préparée est non seulement possible, mais également recommandée pour son efficacité et sa sécurité.
Approche avec une requête à insertion unique
La première méthode consiste à utiliser une seule requête INSERT avec plusieurs valeurs :
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...
Pour exécuter cette requête à l'aide de PDO, vous pouvez suivre ces étapes :
$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);
Approche avec des requêtes d'insertion individuelles
Si le nombre de lignes à insérer est trop grande, vous devrez peut-être exécuter des requêtes d'insertion individuelles :
$query = "INSERT INTO Table (col1, col2, col3) VALUES (".implode(',', $args).")"; $stmt = $pdo->prepare($query); foreach ($rows as $row) { $stmt->execute($row); }
Cette approche garantit que chaque ligne est insérée séparément, minimisant ainsi le risque de problèmes lors de l'insertion.
Conclusion
Que vous utilisiez une seule requête d'insertion avec plusieurs valeurs ou des requêtes d'insertion individuelles, les instructions préparées par PDO fournissent des méthodes efficaces et sécurisées pour insérer plusieurs lignes dans une base de données. Le choix de la bonne approche dépend des exigences spécifiques de l'application et de la base de données.
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!