如何在 IN() 条件中使用具有多个值的 WordPress 准备语句?

Mary-Kate Olsen
发布: 2024-11-12 19:09:02
原创
586 人浏览过

How to Use WordPress Prepared Statements with Multiple Values in the IN() Condition?

使用 IN 条件包含多个值的 WordPress 准备语句

在 WordPress 中使用 IN() 条件中包含多个值的准备语句时,将这些价值观正确地输入到声明中至关重要。原始代码尝试传递包含值的字符串,但 WordPress 将其解释为带有转义双引号的单个字符串。

要纠正此问题,请采用以下方法:

  1. 创建值数组: 将逗号分隔的值字符串转换为单个值的数组
$villes = array("paris", "fes", "rabat");
登录后复制
  1. 生成 SQL 语句: 使用 IN() 条件的适当数量的占位符 (%s) 构造 SQL 语句。
$sql = "
  SELECT DISTINCT telecopie
  FROM `comptage_fax`
  WHERE `ville` IN(" . implode(', ', array_fill(0, count($villes), '%s')) . ")
";
登录后复制
  1. 使用call_user_func_array: 使用 call_user_func_array 调用 $wpdb->prepare 将数组的值作为单独的参数传递。这可确保单独处理每个值。
$query = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($sql), $villes));

echo $query;
登录后复制

此修改后的代码可确保使用 IN() 条件中的多个值正确构造准备好的语句。通过使用值数组和 call_user_func_array,您可以避免转义双引号的问题并执行具有所需结果的准备好的语句。

以上是如何在 IN() 条件中使用具有多个值的 WordPress 准备语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板