get_the_post_thumbnail(‘thumbnail-name’) always returns empty string

You’re using get_the_post_thumbnail() and not the nonexistent get_post_thumbnail() function, right?

As JohnG said, you have to pass the ID of the current post to get_the_post_thumbnail() (the the_post_thumbnail() function already handles that for you). The Function Reference in the WordPress Codex has many usage examples:

get_the_post_thumbnail($id);                  // without parameter -> Thumbnail

get_the_post_thumbnail($id, 'thumbnail');     // Thumbnail
get_the_post_thumbnail($id, 'medium');        // Medium resolution
get_the_post_thumbnail($id, 'large');         // Large resolution

get_the_post_thumbnail($id, array(100,100) ); // Other resolutions

Where $id is the ID of the current post. You can get it via get_the_ID().