"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment obtenir une liaison dynamique dans bind_param() de MySQLi pour mettre à jour uniquement les colonnes non vides ?

Comment obtenir une liaison dynamique dans bind_param() de MySQLi pour mettre à jour uniquement les colonnes non vides ?

Publié le 2024-11-25
Parcourir:793

How to Achieve Dynamic Binding in MySQLi\'s bind_param() for Updating Only Non-Empty Columns?

Comprendre la liaison dynamique dans bind_param() pour MySQLi

Dans cette question, nous visons à explorer une technique d'utilisation de la liaison de variable dans la méthode bind_param() de MySQLi, nous permettant pour spécifier un nombre variable de variables d'entrée. L'objectif est de mettre à jour uniquement les colonnes non vides d'une table de base de données.

Traditionnellement, nous lions un nombre fixe de variables dans bind_param() en tant que "ss...", mais dans ce cas, nous devons gérer la liaison dynamique en fonction de la disponibilité des valeurs dans le tableau $_POST. La première étape consiste à compiler les noms de paramètres et leurs valeurs correspondantes.

Ensuite, nous construisons une chaîne de requête dynamique en parcourant les noms de paramètres et en y ajoutant des valeurs non vides. Nous préparons ensuite l'instruction en utilisant la chaîne de requête générée.

Pour lier dynamiquement les variables, nous utilisons call_user_func_array() pour invoquer bind_param() avec un nombre variable d'arguments. Cela nous permet de transmettre un tableau de noms de variables (c'est-à-dire 'ss...') et leurs valeurs correspondantes en tant qu'éléments individuels.

En suivant cette approche, nous pouvons effectivement mettre à jour uniquement les colonnes avec des éléments non vides. valeurs, évitant les mises à jour inutiles de la base de données et garantissant l'intégrité des données.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3