Maison  >  Article  >  base de données  >  Comment utiliser des instructions préparées avec plusieurs valeurs dans WordPress ?

Comment utiliser des instructions préparées avec plusieurs valeurs dans WordPress ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-11 07:35:02442parcourir

How to Use Prepared Statements with Multiple Values in WordPress?

Relevés préparés avec plusieurs valeurs dans WordPress

Lors de l'utilisation d'instructions préparées dans WordPress avec plusieurs valeurs, il est crucial de gérer les valeurs de manière appropriée. Le problème survient lorsque les valeurs sont fournies sous forme de chaîne concaténée, ce qui entraîne un échappement incorrect des valeurs.

La solution

Pour résoudre ce problème, vous pouvez utiliser ce qui suit approche :

// Create an array of the values to use in the list
$villes = array("paris", "fes", "rabat");    

// Generate the SQL statement
// The number of %s items is based on the length of the $villes array
$sql = "
  SELECT DISTINCT telecopie
  FROM `comptage_fax`
  WHERE `ville` IN(" . implode(', ', array_fill(0, count($villes), '%s')) . ")
";

// Call $wpdb->prepare passing the values of the array as separate arguments
$query = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($sql), $villes));

echo $query;

Elaboration

  • array_fill() : génère un tableau de longueur spécifiée avec une valeur donnée dans chaque élément .
  • implode() : Concatène les éléments d'un tableau en un string.
  • call_user_func_array() : appelle une fonction à l'aide d'un tableau de paramètres.
  • array_merge() : fusionne deux ou plusieurs tableaux en un seul .

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn