No creo que se haya solucionado, para comprobarlo, imprime la consulta con:
El resultado será:
CALL numArticles($this->typeArticle) tal cual, sin reemplazar la variable y te explico un poco:
Cuando tienes una cadena encerrada entre comillas simples, PHP no busca variables para interpretar, la deja tal como está.
En cambio, cuando está encerrada entre comillas dobles, PHP reemplaza las variables por su respectivo valor, pero, tratándose de elementos de arreglos (array) o propiedades de objetos, éstos deben estar encerrados entre llaves, supongo que es la forma en que PHP sabe dónde inicia y dónde termina la "expresión" a reemplazar.
Entonces, para que realmente te funcione:
Código PHP:
Ver original$this->typeArticle = 5; // Esto es sólo como ejemplo
$query = "CALL numArticles({$this->typeArticle})";
echo $query;
El resultado será:
CALL numArticles(5)