2009-09-25 3 views
1

J'ai essayé ceci: http://be.php.net/manual/en/function.mysql-list-fields.php, mais il y a trop de détails ici.Fonction PHP qui retourne les noms de toutes les colonnes d'une certaine table, sous la forme d'un tableau

Ce que je cherche est une fonction qui renvoie un tableau de chaînes. Ce tableau ne doit contenir que le nom de toutes les colonnes d'une certaine table.

Ainsi par exemple, si j'ai une table avec ces colonnes:

nom d'utilisateur | email | sexe | âge | marié | number_of_children | rue | province

je devrais obtenir la même chose que si je l'ai fait:

$vars = array('username','email','gender','age','married','number_of_children','street','province'); 

Y at-il une fonction PHP déjà qui peut le faire? Ou devrais-je besoin de quelques instructions SQL de mon propre chef?

Répondre

4

vous pouvez aussi faire

$query = mysql_query("SELECT * FROM `table`"); 
$result = mysql_fetch_assoc($query); 
$keys = array_keys($result); 

$keys contient maintenant tous les noms de colonnes parce qu'ils étaient les clés du tableau dans le tableau $result.

+0

Si vous ne voulez que les noms de colonnes, il vaut mieux ajouter une 'limite 0' à la fin de cette requête afin de ne pas amener toutes les données à côté des noms de colonne –

1

Je pense qu'il n'y a pas de fonction PHP directe qui fera ce que vous voulez.

Vous pouvez:

  • utilisation de cette fonction en rejetant les résultats inutiles.
  • utiliser une requête SQL sur la INFORMATION_SCHEMA

    SELECT COLUMN_NAME DE INFORMATION_SCHEMA.COLUMNS OU TABLE_SCHEMA = 'base de données' ET TABLE_NAME = 'table'

  • utilisent la 'table de desc' spécifique MySQL ou « show colonnes de la table 'phrases SQL

1

Theres une requête MySQL, qui retourne les noms de colonnes comme un jeu de résultats.

SHOW COLUMNS FROM tablename 
Questions connexes