¿Cómo cuento las columnas de una tabla?

Por ejemplo :

tbl_ifo id | name | age | gender ---------------------------- 1 | John | 15 | Male 2 | Maria | 18 | Female 3 | Steph | 19 | Female 4 | Jay | 21 | Male 

¿Cómo puedo contar las columnas de esta tabla usando mysql?

 SELECT count(*) FROM information_schema.columns WHERE table_name = 'tbl_ifo' 

Creo que también necesita especificar el nombre de la database:

 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'SchemaNameHere' AND table_name = 'TableNameHere' 

si no especifica el nombre de su database, es probable que cuente todas las columnas siempre que coincida con el nombre de su tabla. Por ejemplo, tiene dos bases de datos: DBaseA and DbaseB . En DBaseA , tiene dos tablas: TabA ( 3 campos ) , TabB (4 campos) . Y en DBaseB , tiene nuevamente dos tablas: TabA ( 4 campos ) , TabC (4 campos) .

si ejecuta esta consulta:

 SELECT count(*) FROM information_schema.columns WHERE table_name = 'TabA' 

devolverá 7 porque hay dos tablas llamadas TabA . Pero al agregar otra condición table_schema = 'SchemaNameHere' :

 SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = 'DBaseA' AND table_name = 'TabA' 

entonces solo devolverá 3.

 $cs = mysql_query("describe tbl_info"); $column_count = mysql_num_rows($cs); 

O solo:

 $column_count = mysql_num_rows(mysql_query("describe tbl_info")); 

Para contar las columnas de su tabla con precisión, puede get el formulario information_schema.columns con la transferencia de su Nombre de database (esquema) y Nombre de tabla deseados.

Referencia el siguiente Código:

 SELECT count(*) FROM information_schema.columns WHERE table_schema = 'myDB' AND table_name = 'table1'; 

Simplemente use mysql_fetch_assoc y cuente la matriz usando la function count ()

esta consulta puede ayudarte

 SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'tbl_ifo'