When I said, "I had a little drink yesterday." I was corrected by a native speaker of English. She said that it doesn't sound natural, and suggested this sentence. "I had a little to drink." Then how about "I had some drink. or I had a little of drink."? I don't know why the first sentence is wrong. Is this wrong grammatically? Could anyone explain this, please?
It depends on what you are trying to say.
"I had a little drink" means you had one drink and it was little. "A" followed by a noun indicates one thing. "I had a little drink yesterday" is an unlikely thing to say because you probably did not have just one drink the entire day. If in context you were not talking about drinks in general but specifically about alcohol, it could be a valid sentence. Doctor: "Have you had any alcohol in the past month?" Patient: "Yes, I had a little drink yesterday." That is, I have had only one, little drink, and I drank that yesterday. Or if you were talking about some other specific drink. Like, "Have you tried out city's famous foobar-fruit juice?" "Oh yes, I had a little drink yesterday."
"I had a little to drink" means you may have had multiple drinks, but the total quantity was little. "I had a little to drink yesterday" would probably be used when discussing alcohol: Yes, I consumed some alcohol yesterday, but not a lot. It could be used of drinking fluids in general if there was some reason to discuss your total fluid intake. Like, if you were in the desert and running out of water, or you are on a diet that limits your fluid intake.
"I had a little drink"
Has always been a euphemism for
"I drank until I could barely stand"
First popularised in the song "Show me the Way to go Home" written in 1925.
I see nothing wrong with the sentence in itself, merely in the connotation.
To avoid the possible confusion, you might be wiser to actually specify
"I went out for a couple of beers last night" or
"We all went out last night, but I only had one [drink]." or
"I went out last night but only drank lemonade." etc
It does sound awkward, I think because you could be saying "you had a small drink", as in a half-pint of beer or a small glass of wine. The phrase "little drink" is an adjective coupled with a noun, whereas the phrase "little to drink" is a determiner tied to a verb. In other words, "drink" is a noun and "to drink" is a verb.