I was wondering about the following question:
Assume that $B$ is a real-valued matrix of dimension $m\times l$. Is it true that if for all non-zero $k\times m$-dimensional matrices $A$ that $AB\neq 0$, then $B$ must be injective (i.e., $\text{rank}(B)=l$)?
Further; does it make a difference if we assume that $k=l$ and $AB$ is invertible?
To rephrase your criterion, for every $A_1, A_2$ a pair of $k \times m$ matrices with $A_1 \neq A_2$, we have $(A_1-A_2)B = A_1B-A_2B \neq 0$, so $A_1 B \neq A_2 B$. Phrased this way, it is precisely the criterion in category theory for $B$ to be an epimorphism, which is equivalent in the category of vector spaces to being surjective (i.e., $\operatorname{rank}(B)=m$).
In more basic language, consider $k=1$. Then $A$ is simply a row vector, and you're stating the criterion for $B$ to be injective on row vectors, i.e., the rows of $B$ are linearly independent. It is a standard result that this is equivalent to the columns being spanning, i.e., $B$ is surjective on column vectors.
If $k=l$ and $AB$ is invertible, then $B$ is necessarily injective and $A$ is necessarily surjective. This is easy to see by $$Bv=0 \implies ABv = 0 \implies (AB)^{-1}AB v = 0 \iff v=0,$$ and dually for $A$ being surjective.