我有一个包含这些值的数组(包括撇号):
\'course_3202\',\'course_3201\',\'course_3200\',\'course_3199\'
我尝试从Posteta表中的这些值中获取结果。SELECT * FROM wp_postmeta WHERE meta_key IN (%s) and meta_value=1
我没有得到结果(是的,有数据,我应该得到结果)RESULT = Array ( )
我的代码如下所示:function get_count_courses_array(array $courseids) {
$tmp = array();
foreach($courseids as $cid) {
$tmp[] = "\'" . $cid . "\'";
}
$courseids = implode(\',\',$tmp);
global $wpdb;
$sql = "SELECT * FROM $wpdb->postmeta";
$sql .= " WHERE meta_key IN (%s) and meta_value=1";
$result = $wpdb->get_results($wpdb->prepare( $sql, $courseids));
return $result;
}
在phpMyAdmin中,我尝试了同样的方法,并得到了结果(如预期的那样):SELECT * FROM wp_postmeta WHERE meta_key IN (\'course_3202\',\'course_3201\',\'course_3200\',\'course_3199\') and meta_value=1
What am I doing wrong?