Maison >développement back-end >tutoriel php >Comment mettre à jour efficacement plusieurs enregistrements MySQL à l'aide de PHP avec un tableau d'ID ?
Itération à travers un tableau d'ID pour les requêtes MySQL
Lorsque vous travaillez avec des requêtes MySQL en PHP, vous devrez peut-être incorporer plusieurs valeurs d'un tableau dans la requête. Ce guide montre comment y parvenir efficacement à l'aide d'instructions préparées et de requêtes SQL dynamiques.
Instructions préparées (recommandées)
Les instructions préparées offrent une sécurité et une efficacité améliorées. Voici comment les utiliser :
$ids = array(2, 4, 6, 8); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); for ($i = 0; $i < count($ids); $i++) { $stmt->bind_param("i", $ids[$i]); $stmt->execute(); echo "Updated record ID: $ids[$i]"; } $stmt->close();
Requêtes SQL dynamiques
Vous pouvez également construire une requête SQL dynamique de manière dynamique :
$ids = array(2, 4, 6, 8); $params = implode(",", array_fill(0, count($ids), "?")); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)"; $stmt = $mysqli->prepare($sql); $types = str_repeat("i", count($ids)); $args = array_merge(array($types), $ids); call_user_func_array(array($stmt, 'bind_param'), ref($args)); $stmt->execute(); echo "Updated record IDs: " . implode(",", $ids);
Comparaison et utilisation Lignes directrices
Avantages des déclarations préparé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!