u[x, t] := f[x] h[t];
DSolve[{a D[u[x, t], x] + b D[u[x, t], t] == 0}, u[x, t], {x, t}]
... DSolve: f[x] h[t] cannot be used as a function
DSolveValue: "The function h[t] does not have the same number of arguments as independent variables (2)."
and
u[x, t] := f[x,0] h[0,t];
... "f[x,0] h[0,t] cannot be used as a function."