Not sure why I am getting it wrong?
INSERT INTO products (id, name, description, price) VALUES ("Tshirt", "I am a Tshirt", "18.5");
When specifying column names they should correspond to the values both in number and order. The easiest way to fix what you have is to remove id. Since it is auto-incrementing a value doesn't need to be specified.