我的查询在wordpress中返回null,我不知道为什么

问题描述:

What's wrong with this query? It always returns NULL.

$recipes = $wpdb->get_results(
       "SELECT ID FROM ".$wpdb->posts." WHERE post_author = %d AND post_status IN ('draft','publish') AND post_type = 'recipes' ", $current_user->ID
        );

get_results takes output type as second parameter. You're missing prepare method if you want to do it like this. It should be something like

 $recipes = $wpdb->get_results($wpdb->prepare ("SELECT ID FROM ".$wpdb->posts." 
 WHERE post_author = %d 
 AND post_status IN ('draft','publish') 
 AND post_type = 'recipes' ", $current_user->ID));

Code:

global $post;
global $wpdb;

$sel_query = "SELECT id FROM ".$wpdb->prefix."posts WHERE post_author = ".$current_user->ID." AND post_status IN ('draft','publish') AND post_type = 'recipes' ";
$totaldata = $wpdb->get_results($sel_query);

return $totaldata;