Following are the two common issues beginners found to be struggling with.
1) LCD display contains only black boxes in the first line
2) LCD shows nothing but the backlight
The second one occurs mostly due to the bad code. Only hardware error possible is with the RS pin, where it might be shorted to ground.
Here one should note that the LCD got initialized. This happens only when the controller is able to communicate successfully so far with the LCD module.
The first case occurs both due to software or hardware issues. Here the LCD not even got initialized, which means the controller might not be able to communicate with the LCD module, or the instructions sent might be wrong. There are often hardware issues as well.
So first make sure that your hardware connections are proper, then try to debug the code.