¿Funcionaría esto para ti?
select
count(*)
from
`information_schema`.`columns`
where
`table_schema` = 'my_table_schema' and `table_name` = 'my_table_name';
Solo necesita usar table_schema
si el nombre de la tabla existe en más de una base de datos.
Según su comentario de respuesta, está buscando contar un número dinámico de columnas. Puede hacer esto con una tabla temporal, pero no puede acceder a los datos de una tabla temporal sin posiblemente instalando un parche .
Cabe destacar que hay una pregunta SO pendiente similar preguntando cómo seleccionar columnas de una tabla temporal.