We use had better to refer to the present or the future, to talk about actions we think people should do or which are desirable in a specific situation. The verb form is always had, not have. We normally shorten it to ’d better in informal situations. It is followed by the infinitive without to:

It’s five o’clock. I’d better go now before the traffic gets too bad.

Not: I’d better to go now.

The democratic movement had better concentrate on the immediate issues of the economy and security. (more formal)

Had better is a strong expression. We use it if we think there will be negative results if someone does not do what is desired or suggested:

She’d better get here soon or she’ll miss the opening ceremony.

Spoken English:
Sometimes people say had best instead of had better, especially in informal speaking. This sounds slightly less strong and less direct:

You’d best leave it till Monday. There’s no one in the office today.

Had better: negative and question forms
The negative of had better is had better not (or ’d better not):

I’d better not leave my bag there. Someone might steal it.

You’d better not tell Elizabeth about the broken glass – she’ll go crazy!

The question form of had better is made by inverting the subject and had. This means the same as should, but is more formal:

Had I better speak to Joan first before I send this form off? What do you think?

Had we better leave a note for the delivery guy to take the parcel next door?

Negative questions with had better are more common than affirmative ones:

Hadn’t we better ring the school and tell them Liam is sick?

Hadn’t you better switch your computer off? It might overheat if you leave it on.

Had better or be better, be best?
We use had better to give advice in a specific situation. We use the phrase be better or be best + to-infinitive for more general suggestions:

It’s always better to be safe than sorry. (‘It’s better to be safe than sorry’ is a saying which means that you should be careful before taking any action.)

I think it would be best to speak to the people in the video shop to see what they recommend.

Had better or would rather, would prefer?
We don’t use had better when we talk about preferences. We use would rather or would prefer.

Compare
I’d better get a taxi. The buses are so slow.

It is a good idea, better, or advisable to get a taxi.

I’d rather get a taxi. I don’t like buses.

I prefer to get a taxi.

Had better: typical errors-

We use had better to give specific advice, not to talk about obligations or requirements; instead, we use have to, have got to or must:

You have to (or must) hold a full, valid driving license to hire a car.

Not: You’d better hold a full, valid driving license to hire a car.
We don’t use had better to talk about preferences; instead, we use would rather or would prefer:

They offered her a job in Warsaw, but she said she’d rather work in a smaller city. (or … she’d prefer to work …)

Not: … she’d better work …

We don’t use had better to make ordinary suggestions or recommendations:

Auckland is a great place to visit. I’d recommend you take a boat trip across the bay and see some of the islands. Then you can find a nice restaurant for lunch. There are plenty of them.

Not: You’d better take a boat trip across the bay and see some of the islands. Then you’d better find a nice restaurant for lunch.