Maison >base de données >tutoriel mysql >Comment puis-je insérer efficacement et en toute sécurité plusieurs valeurs dans MySQL à l'aide de PHP ?
Insérer plusieurs valeurs de manière efficace et sécurisée avec PHP et MySQLi
Pour insérer de nombreuses valeurs en toute sécurité, en évitant les injections SQL et les débordements de pile, considérez ce qui suit techniques.
Approche 1 : Boucle améliorée avec préparé Déclaration
Conservez votre approche actuelle mais apportez quelques modifications pour plus d'efficacité :
$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)"); $stmt->bind_param("s", $one); foreach ($array as $one) { $stmt->execute(); }
Cette approche initialise l'instruction préparée en dehors de la boucle, améliorant ainsi les performances.
Approche 2 : approche basée sur les transactions
Pour optimiser davantage, utilisez transactions :
$stmt = $mysqli->prepare("INSERT INTO table (link) VALUES (?)"); $stmt->bind_param("s", $one); $mysqli->query("START TRANSACTION"); foreach ($array as $one) { $stmt->execute(); } $mysqli->query("COMMIT");
En encapsulant les insertions dans une transaction, le système de mise en mémoire tampon de MySQL est utilisé, ce qui entraîne des améliorations significatives de la vitesse.
Tests et résultats
Dans un test de performances avec 10 000 itérations, l'approche basée sur les transactions s'est avérée considérablement plus rapide :
Par conséquent, l'utilisation de l'approche basée sur les transactions est recommandée pour les opérations à grande échelle opérations d'insertion.
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!