I2C LCD does not showing text

I have some problems with my LCDs, last time they ran like a charm but now for some reason, both of my LCDs didn't show any text:
Tried everything such as:
Running the I2C scanner to find the address, it did show I2C device found at address 0x27 !
Changing between 2 displays, and none of them showed some text.
Used a screwdriver to adjust the contrast and still not working.

Here's the code:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); 

void setup()
{
  lcd.init();                    
  lcd.backlight();
  lcd.setCursor(2,0);
  lcd.print("Testing");
  lcd.setCursor(0,1);
  lcd.print("Testing");
}

void loop()
{
}

Cheers!

What's different between "last time" and now?

You only have two rows, 0 and 1. See poat #4

Indeed. But the syntax for setCursor is (column, row).

void LiquidCrystal_I2C::setCursor(uint8_t col, uint8_t row){
	int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
	if (row > _rows) {
		row = _rows-1;    // we count rows starting w/0
	}
	command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
}

well, last time was 2 months ago, I did a project and it ran perfectly, now for some reason it just doesn't want to display any text.

that was a typo, but still, I tried changing to (0,0), and nothing happened

The funny thing is I have 2 LCDs, one is 16x2 and the other one is 20x4.
They are in perfect condition but none of them works, which is weird because 2 months ago they worked flawlessly.

And I'm thinking about the reason is because of my laptop, I had to reset it recently.

The library you use has several examples.
Have you tried if these work? (modified to I2C address and rows/cols where needed)

I did try them, and none of them worked too.

I am thinking that the main problem is my laptop, I did try to reset it last month, maybe that enturpted the library I think.

Can you compile the sketch?
Then the library should be OK.

The best available library for the i2c lcd displays is called hd44780.h. written by Bill Perry. It is available through the library manager.

I would suggest that you convert to it. It is plug and play for a variety of configurations of the i2c backpack modules. It will detect both the i2c address and the configuration of the driver. Not all configurations of displays on the market are compatible with that used by LiquidCrystal_I2C.h.

As part of the hd44760.h library there is a comprehensive diagnostic sketch which will test some internal details of the display. It's called I2CexpDiag

In the ide you can navigate to the library example

File>Examples>hd44780>ioclass>hd44780_I2Cexp>I2CexpDiag

Run the diagnostic sketch, and report what it says.

I compiled it, no signs of errors.

I ran it, and it said this

show clear pictures of your soldering work between the I2C backpack and the LCD.

In case you are wondering: the I2C backpack (or a pin header) MUST be soldered to the LCD It will not work if you just "plug it in".

Unfortunately, my phone is cracked so I can not really take a picture of it. But the thing is that the soldering is completely fine on both LCDs, but still for some reason they don't work.

Looking into the code of the HD44780 library.
The code -3 means RV_ENOTSUP
So it looks like you have a not supported backpack chip.

Can you read the name of the IO chip on the backpack?

Typical is a PCFxxxx or MCPyyyy

OP states these LCDs previously worked. Maybe a driver/library fallback is necessary?

But we still don't see any picture of his configuration and connection and soldering.