I had a similar issue.
In my case, I am running multisite, and one function was grabbing the wrong table name because of the way WordPress prefixes tables in a multisite environment. The fixed function code is below:
function em_get_data_post($id) {
//select post proprety
global $wpdb;
$tp = $wpdb->prefix;
$bp = $wpdb->base_prefix;
$result = array();
$result = $wpdb->get_row("
SELECT post_status, post_title, user_login, user_nicename,
display_name,post_author, user_email, post_name, post_author,post_status
FROM {$tp}posts, {$bp}users
WHERE {$tp}posts.post_author = {$bp}users.ID
AND {$tp}posts.ID = '$id'
");
return $result;
}