Maison >développement back-end >tutoriel php >Les instructions préparées par PDO peuvent-elles insérer efficacement plusieurs lignes dans une seule requête ?
Insertion de plusieurs lignes avec des instructions préparées PDO
Pour améliorer la sécurité avec PDO, les développeurs recherchent des méthodes pour insérer plusieurs lignes dans une seule requête en utilisant des instructions préparées. déclarations. Cet article explore la faisabilité et la mise en œuvre d'une telle solution.
L'insertion de plusieurs lignes dans une seule requête est plus rapide que les insertions classiques. Les instructions préparées utilisent des parties constantes explicitement écrites dans le code, offrant une sécurité à 100 %.
Pour implémenter cela, créez une partie VALUES avec une séquence d'espaces réservés pour une seule ligne. Déterminez le nombre de champs et de lignes pour répéter cette séquence en conséquence.
// VALUES part for a single row $values = str_repeat('?,', count($data[0]) - 1) . '?'; // Construct the entire query $sql = "INSERT INTO table (columnA, columnB) VALUES " . // Repeat the VALUES part for each row str_repeat("($values),", count($data) - 1) . "($values)"; $stmt = $db->prepare($sql); // Execute with all values from $data $stmt->execute(array_merge(...$data));
Cette approche est sécurisée car la requête contient des parties constantes. Il est compatible avec MySQLi et PDO sur toutes les versions PHP prises en charge.
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!