Pues q yo sepa en las funciones nativas de PHP para Mysql no hay funcion que devuelva un array con los datos q requieres ..
Pero si que tienes varias funciones para obtenerlos:
mysql_fields_type() ... El tipo de campo
mysql_fields_name() ... El nombre del campo
mysql_fields_flag() ... Si es: auto_increment, ???_Key .. etc
Mira el ejemplo de PHP (manual) sobre mysql_fields_type()
Código PHP:
<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows = mysql_num_rows($result);
$table = mysql_field_table($result, 0);
echo "Your '".$table."' table has ".$fields." fields and ".$rows." record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
$type = mysql_field_type($result, $i);
$name = mysql_field_name($result, $i);
$len = mysql_field_len($result, $i);
$flags = mysql_field_flags($result, $i);
echo $type." ".$name." ".$len." ".$flags."\n";
}
mysql_free_result($result);
mysql_close();
?>
Lo quieres en un array? .. Hazlo:
Código PHP:
for ($i=0; $i < $fields; $i++) {
$field_array[]['type'] = mysql_field_type($result, $i);
$field_array[]['name'] = mysql_field_name($result, $i);
$field_array[]['len'] = mysql_field_len($result, $i);
$field_array[]['flags'] = mysql_field_flags($result, $i);
}
Ahí tienes un aray bidimensional con todos los campos y sus propiedes ..
Accedes a cada elemento tipo:
$field_array[nºcampo][propiedad]
No se si será eso lo q buscas .. de todas formas ahi tienes ejemplos ..
Un saludo,