Effectuer une insertion de lignes en masse avec CodeIgniter
Problème
Pour éviter de créer des requêtes extrêmement longues avec potentiellement des milliers de valeurs ajoutées, il est conseillé d'explorer les méthodes permettant d'insérer plusieurs lignes MySQL simultanément à l'aide d'un seul requête.
Solution
L'insertion de plusieurs lignes dans MySQL est bien plus efficace que d'effectuer des insertions individuelles. Pour optimiser ce processus avec CodeIgniter, profitez de la fonction implode().
Implémentation
Commencez par créer un tableau pour contenir vos instructions SQL :
$sql = array();
Ensuite, parcourez votre ensemble de données et créez les instructions SQL :
foreach( $data as $row ) { $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')'; }
Enfin, exécutez la requête utilisant implode() :
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));
Avantages
Cette approche minimise la copie en assemblant l'instruction SQL en parties et en utilisant implode() pour les concaténer efficacement. Pour les ensembles de données comportant de nombreuses colonnes et des valeurs potentiellement longues, envisagez d'utiliser une boucle imbriquée pour créer dynamiquement les instructions SQL.
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!