My 6yr old also has the same problem. It is my understanding that it is very common. As I’ve never taught a little one reading, I can’t wait to see what the more experienced moms have to say.
This is a common issue for new readers. One little trick that helps my kids is to tell them, “Hold up your pointer fingers, and make the other fingers into an ‘o’ shape. When you look at your hands, the left hand is making a ‘b’ and the right is making a ‘d’. Say the word, “bed”. “B” “E” “D”. Bed. When you look at your hands, you can see the ‘b’ first, imagine the ‘eh’ sound, and see the ‘d’.
As far as ‘p’ and ‘q’…How many times does a six year old use ‘q’? Familiarize him with ‘p’ thoroughly. When he is thoroughly familiar with ‘p’ – then add ‘q’ words. Explain that ‘q’ is always followed by a ‘u’.
Helping your child to form the letter in sand or with playdough is also very helpful.
Another thing to keep in mind is that those 4 letters are technically the same shape… just oriented differently… that is part of why some kids struggle…. a dog is a dog whether it is facing left or right, or lying down…. but with letters it is different.
All About Spelling says to imagine it as ‘b’ is ‘bat and ball’ and the stick of the letter represents the bat and the circle is the ball. You grab the bat first to hit the ball, thus the stick part is first left to right. ‘d’ is a door knob attached to a door. You grab the door knob first so the circle part comes first. I think this is clever but it did not help my boys at all who both (age 7.5) still struggle with b and d and even f and h mix-ups. At this point I’m getting ready to start Brain Integration through the manual by Dianne Craft, recommended by the woman who tested my sons in the spring, and other than that I just tell them the letter when we’re reading, very casually.
I personally don’t mix them up for reading but I often do in writing (a ‘p’ for a ‘b’ just comes out but I recognize it immediately as not correct.
I don’t know if this is any help, but just another saying ‘my kids too!’ 🙂