lcd 1602 doesn't display

i am new to using LCD in arduino (but i have experience using it in another projects)and i use the example in arduino app .
when i upload code the LCD don’t change , all of the first row are square and the second row is empty.
i checked wires a lot and even test this code with 2 different functional arduino and the result is the same.
i read a lot of subject and there solutions doesn’t work in my case.
what should i do ???
i attached photo of it(sorry i wired it little messy)

If you are 100% sure that the wires are OK and connected correctly, I would say the display is broken.

I would suggest that you check that each wire is OK.

OK, a few things here.

The display is initialising and the contrast is correct - or close enough. Incidentally, but not a reason for failure - you should correct a silly blunder in almost all of the circuits given and remove the connection from the potentiometer to 5 V (Vcc). This makes contrast setting easier.

Your wiring appears correct. Your soldering looks a trifle suspect. These jumper lead sets can be faulty - it is a good idea to test all the wires first by connecting them in a chain on a breadboard and connecting them to a resistor and LED across the 5 V power to ensure the LED lights.

Incidentally, but never a reason for failure, the resistor in series with the backlight is unnecessary if - as is almost always the case on recent displays - resistor R8 on the board is "101" or 100 Ohms. Adding a 220 Ohm in series makes it just a trifle dimmer.

Posting your actual code here - according to the instructions - would enable us to check you are using the right code.

The soldering of the pins to the LCD board looks like it has issues.
This can cause connectivity issues which could keep things from working even if the wiring is correct and matches the pin mapping used by the code.

— bill

Try to adjust the LCD contrast by rotating the potentiometer

Almost certainly down to the soldering, it's awful frankly. Are you trying to use the lead free stuff? If so get a roll of the proper 60/40 rosin core solder and practice a bit before reflowing those connections.

It is vitally important to use a clean, tinned bit of the correct temperature. Melt a touch of solder onto the bit (helps with heat transfer) and apply the bit to both the pad and the pin. Apply solder to the OTHER side of the joint and it will melt and flow correctly when the joint is hot enough. Don't disturb it for a few seconds.

Try to adjust the LCD contrast by rotating the potentiometer

If you look at the picture, you will see that the contrast is correctly adjusted and that the display has not been initialised by the code. :astonished:

thank you guys for your advise ! the problem was about soldering and one of the pins wasn't connected well !
thank you all for responding to me !