Utilisation de tableaux dans les requêtes MySQL (PHP) : un guide complet
Les requêtes MySQL peuvent être améliorées en incorporant des tableaux pour spécifier des paramètres. Cela permet une gestion efficace de plusieurs valeurs dans une seule instruction.
Approche 1 : instructions préparées
Les instructions préparées fournissent un moyen sûr et efficace d'ajouter des valeurs dynamiques aux requêtes. . En utilisant une instruction préparée, vous pouvez lier de manière itérative chaque élément du tableau en tant que paramètre :
$mysqli = new mysqli(...); $sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?"; $stmt = $mysqli->prepare($sql); foreach ($ids as $id) { $stmt->bind_param("i", $id); $stmt->execute(); echo "Updated record ID: $id\n"; }
Approche 2 : espaces réservés pour les paramètres dans la requête
Vous pouvez également intégrer paramètrer les espaces réservés dans la requête elle-même et lier tous les éléments du tableau en un seul étape :
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN (?)"; $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) . "\n";
Quelle approche choisir ?
Le choix dépend du cas d'utilisation spécifique :
Avantages des instructions préparées
N'oubliez pas que l'utilisation d'instructions préparées est cruciale mesure de sécurité qui protège votre base de données contre les attaques malveillantes.
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!