Comment lier des valeurs pour une instruction MySQL IN à l'aide de PDO
Liaison d'un tableau de valeurs à une instruction PDO pour une utilisation dans une instruction MySQL IN peut être délicat. Lorsqu'elle est mal effectuée, l'instruction peut s'exécuter avec les valeurs concaténées sous forme d'une seule chaîne, plutôt que sous forme de valeurs individuelles.
Pour lier correctement les valeurs, évitez d'utiliser implode() pour créer une chaîne séparée par des virgules. Envisagez plutôt d'utiliser les méthodes suivantes :
-
Construisez la requête manuellement : Composez vous-même la chaîne de requête, en insérant manuellement les valeurs séparées par des virgules dans l'instruction IN.
-
Utilisez find_in_set() : Utilisez la fonction find_in_set() pour faire correspondre une valeur à un chaîne séparée par des virgules dans une clause WHERE. Cette méthode peut présenter des inconvénients en termes de performances pour les grands ensembles de données.
-
Créez une fonction définie par l'utilisateur (UDF) : Écrivez votre propre UDF pour diviser la chaîne séparée par des virgules en valeurs individuelles. Cette option offre les meilleures performances pour les requêtes avec des clauses IN(...) fréquentes.
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!