Are you doing your own WP_Query call?
If not, then WordPress will already have done this for you, say on a single page or post, in which case it will already have filtered out all other posts, so you will only get the one. The only time using query_posts will work like that is in an archive or categories or search display.
You need to do your own query from scratch. You shouldn’t do this in the standard single.php or page.php otherwise it won’t work properly for when you do need to display single posts.
Rather, you should make your own page template file. Your PHP for that will then look something like this:
<?php rewind_posts(); ?>
<?php $recent = new WP_Query(); ?>
<?php $recent->query("p=1,2,3,4,5"); ?>
<?php if ( have_posts() ) : ?>
<?php while($recent->have_posts()) : $recent->the_post(); ?>
...
<?php endwhile; endif; ?>