single.php not pulling in any data from database

have_posts() needs a WordPress database query before it will show anything, check it here like this:

$the_query = new WP_Query( 'post_type=post' );
if ( $the_query->have_posts() ) {
        echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
        echo '</ul>';
} else {
    // no posts found
}

it will display all posts in your blog.