php - 如何将数组值传递到准备好的 SQL WHERE IN 语句中?
问题描述
试图将二维数组传递到准备好的 WP SQL 语句中。
$idList
是二维数组。
这就是我所拥有的:
$implodelist = ".implode(',', $idList).";
global $wpdb;
$result = $wpdb->get_results($wpdb->prepare("
SELECT wp_users.`user_email`,
wp_wp_pro_quiz_statistic.`correct_count`,
wp_wp_pro_quiz_statistic.`incorrect_count`,
wp_wp_pro_quiz_category.`category_name`
FROM wp_users
INNER JOIN wp_wp_pro_quiz_statistic_ref
ON wp_users.`ID` = wp_wp_pro_quiz_statistic_ref.`user_id`
INNER JOIN wp_wp_pro_quiz_statistic
ON wp_wp_pro_quiz_statistic_ref.`statistic_ref_id` = wp_wp_pro_quiz_statistic.`statistic_ref_id`
INNER JOIN wp_wp_pro_quiz_question
ON wp_wp_pro_quiz_statistic.`question_id` = wp_wp_pro_quiz_question.`id`
INNER JOIN wp_wp_pro_quiz_category
ON wp_wp_pro_quiz_question.`category_id` = wp_wp_pro_quiz_category.`category_id`
WHERE wp_users.`ID` IN %s", $implodelist));
但是数组(作为字符串)似乎没有正确传递到 %s 占位符中。
如果我删除准备好的语句并".implode(',', $idList)."
代替%s
,它可以工作。
如何将数组值传递到 SQL 语句中?
解决方案
推荐阅读
- android - 具有永无止境的滚动动画的 Android 水平 RecycleView
- python - 更新 DynamoDB 时出现客户端错误?
- spring-boot - 如何在 Spring Boot 项目中将 splunk 与 spring cloud sleuth 集成?
- c# - C# .NET 仅为特定 api 控制器或模块(项目)中的 api 控制器启用 Swagger UI
- pip - 即使已安装,也没有名为“seaborn”的模块 - windows (jupyter)
- java - SharedPreferences 在重复的 Android Studio 项目中不起作用
- python-3.x - LabelEncoder 实例尚未安装
- c# - 如何将 JSON 对象与当前类合并
- ruby-on-rails - 我如何使用 ransack 和 pg_search 实现使用杂志数组(Tags [])中的标签进行搜索?
- ember.js - highcharts.js 和exporting.js 版本问题