Retired TA here - you have had useful advice already, but if you also look in the MN Book Reviews, "Children's educational books and courses" section, the Oxford Phonics Spelling Dictionary is a book that could support reading and spelling, right through primary school and into secondary, and it is enjoyable and entertaining to use.
Confusing b, d, p, q etc: MOST children go through that confusion at some time, as the letters are so similar - a part circle and a stick! The word bed may help, as it creates the shape of a bed. To help my slower learners, I used to write it in large letters, and draw a little 'stick person' in bed, which, of course, the kids enjoyed!
Numeracy: this is my standard advice to help with number concepts:
Practical things are best for grasping number concepts - bricks, Lego, beads, counters, money, shapes, weights, measuring, cooking.
Do adding, taking away, multiplication (repeated addition), division (sharing), using REAL OBJECTS as just 'numbers' can be too abstract for some children.
Number Bonds of Ten forms the basis of much maths work, so try to learn them. Using Lego or something similar, use a LOT of bricks (of just TWO colours, if you have enough) lay them out so the pattern can be seen of one colour INCREASING while the other colour DECREASES. Lay them down, or build up like steps.
So:
ten of one colour none of other
nine of one colour one of other
eight of one colour two of other
seven of one colour three of other
etc, etc
then of course, the sides are equal at 5 and 5; after which the colours 'swap over' as to increasing/decreasing.
To learn TABLES, do them in groups that have a relationship, thus:
x2, x4, x8
x3, x6, x12
5 and 10 are easy
7 and 9 are rather harder.
Starting with TWO times TABLE, I always say: "Imagine the class is lining up in pairs; each child will have a partner, if there is an EVEN number in the class. If one child is left without a partner, then the number is ODD, because an odd one is left out."
Use Lego bricks again, lay them out in a column of 2 wide to learn 2x table. Go half way down the column, and move half the bricks up, so that now the column is 4 bricks wide. That gives the start of 4x table.
Then do similar things with 3x and 6x.
With 5x, try and count in 'fives', and notice the relationship with 'ten' - they will alternate, ending in 5 then 10.
It is important to try and UNDERSTAND the relationships between numbers, and not just learn them 'by rote'.
I am sorry it seems complicated trying to explain these concepts, but using Lego or counters should make understanding easier.
An inexpensive solar powered calculator (no battery to run out!) can help learn tables by 'repeated addition'. So: enter 2+2 and press = to give 4. KEEP PRESSING = and it should add on 2 each time, giving 2 times table.
There are good web sites, which can be fun to use :
www.ictgames.com/
www.resources.woodlands-junior.kent.sch.uk/maths/index.html