We know that $L(1, \chi)$ is related to the class number $h(d)$ with a constant. And this is one way that we can prove $L(1, \chi)$ not vanish on $s = 1$.
What confused me is: we know that class number $h(d)$ is zero for some $d$. (in other words, not every $h(d) > 0$).
Will this imply that $L(1, \chi)$ vanish sometimes?
The class number $h(d)$ is defined as the cardinality of the class group of $\mathbb{Q}[\sqrt{d}]$. Often one restricts to squarefree $d$, among others as squares can just be discarded anyway getting the same field.
For $d<0$ (and $d$ squarefree) this is the same as the number of classes of integral binary quadratic forms with discriminant equal to the discriminant of $\mathbb{Q}[\sqrt{d}]$ which is $4d$ or $d$ depending on a congruence condition modulo $4$. (For $d>0$ there is also a relation, but it is more subtle. But still the discriminant of the field is relevant.)
The class group is, as the name suggests a group and hence never empty. Thus its cardinality is always at least $1$.
Note that when the ring of integers is a principal ideal domain it is $1$ (all ideals are principal, so there is one class, that of the principal ideals), even in the "worst case" that $\mathbb{Q}[\sqrt{d}]= \mathbb{Q}$, it is still $1$. The ring of integers are the (rational) integers, but that's fine, they are as good as any PID for that purpose.