With small children (< 10 years) it's usually a good idea to avoid the 'traditional' toy breeds - toy poodles, chihuahuas, Manchester toy terriers, minpins, etc. Not to say they aren't good with children, but they are fragile dogs that could be easily (accidentally) harmed by a child who plays too rough with them.
Terriers are pretty hardy dogs that love to play and roughhouse, but some have a tendency to nip, which is obviously not choice when dealing with small children. I grew up with chihuahuas in my house and it always was fine, but I was exceptionally gentle with animals when I was young, so there was no danger of me harming them. I don't know how this little boy behaves, but given that he is a boy he is probably rougher than he realizes.
In my personal opinion, the best small dog you can get for a child is a Corgi. They are rough-and-tumble dogs originally bred to herd cattle (believe it or not) with boundless energy and loving personalities. They are very intelligent and easy to train, and would make a great companion for a small child. The only downside is that because they are herders some of them tend to "herd" children, and they shed copiously.
I think the best thing your friend can do is take the child to the animal shelter and just wait until they find the dog they 'click' with - it will happen, and when it does, breed doesn't matter.