I want to know the difference between 6-31G(d,p) basis set and 6-311g(d,p) basis set, in order to choose the best base set which reproduces the experimental data.
Both are split-valence Pople basis sets. They both use a set of 6 primitive Gaussian (hence the 6 and the G) functions to build the core orbitals (like 1s of C, those that do not participate in chemical bonding). For the valence orbitals (those that form bonds), the 6-31G(d,p) uses a "double-zeta" approach, this is, each valence orbital is duplicated, one of them is described with 3 primitive functions and the other with just one (the 31 after the hyphen). For the 6-311G(d,p), a "triple-zeta" scheme is used and the valence orbitals are triplicated, and as you may guess, one is described with 3 primitives, and the other two with 1 each (311).
This process of dividing each valence orbital in various "copies" with different primitives is what provides the much-needed flexibility in the size of the final valence orbital upon linear combination, which provides the required anisotropy in the AOs to form the MOs. So, if you want to reproduce experimental data, as long as your resources allow you, the bigger the better, try the triple-zeta.
Just in case, the (d,p) are polarization functions, functions whose angular momentum is higher than the corresponding for the atom they belong (like introducing a 1p orbital to hydrogen or 2d to carbon), also needed to describe chemical bonds, in this case not the size of the MOs but their deformation).
Surprisingly, this is quite well explained in the Wikipedia, so it may be worth taking a look: https://en.wikipedia.org/wiki/Basis_set_(chemistry)