Existe-t-il un moyen de récupérer le nom des colonnes d'une table dans mysql? en utilisant php
301
Vous pouvez utiliser DESCRIBE :
DESCRIBE my_table;
Ou dans les versions plus récentes, vous pouvez utiliser INFORMATION_SCHEMA :
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Ou vous pouvez utiliser SHOW COLUMNS :
SHOW COLUMNS FROM my_table;
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'db_name' AND COLUMN_NAME = 'col_name';
desc my_table;
:-)DESC
pour décrire peut être facilement confondu avecDESC
pour descendre. Le nombre nominal d'octets que vous enregistrez pour le manque de lisibilité n'en vaut pas la peine.Les instructions SQL suivantes sont presque équivalentes:
Référence: INFORMATION_SCHEMA COLUMNS
la source
SHOW COLUMNS
retourne un tableau contenant les noms de colonne, les types, etc., tandis queSELECT COLUMN NAME
renvoie uniquement les noms de colonne.J'ai créé une fonction PDO qui renvoie tous les noms de colonnes dans un tableau simple.
La sortie sera un tableau:
Désolé pour la nécro mais j'aime ma fonction;)
PS Je n'ai pas inclus la classe Core mais vous pouvez utiliser votre propre classe .. DS
la source
Cette solution provient de la ligne de commande mysql
Dans la requête ci-dessous, changez simplement <--DATABASE_NAME--> en votre base de données et <--TABLENAME--> en votre nom de table où vous voulez juste les valeurs de champ de l'instruction DESCRIBE
la source
Il y a aussi ceci si vous préférez:
la source
Que dis-tu de ça:
la source
Il est également intéressant de noter que vous pouvez utiliser
EXPLAIN table_name
ce qui est synonyme deDESCRIBE table_name
etSHOW COLUMNS FROM table_name
bien que EXPLAIN soit plus couramment utilisé pour obtenir des informations sur le plan d'exécution des requêtes.la source
Examiner:
la source
La fonction MySQL décrit la table devrait vous amener où vous voulez aller (mettez votre nom de table pour "table"). Vous devrez analyser la sortie, mais c'est assez facile. Si je me souviens bien, si vous exécutez cette requête, le résultat de la requête PHP accédant aux fonctions qui vous donneraient normalement une paire clé-valeur aura les noms de colonne comme clés. Mais cela fait un moment que je n'ai pas utilisé PHP, alors ne m'y tenez pas. :)
la source
Vous pouvez également vérifier
mysql_fetch_array()
, comme dans:la source
J'avais besoin de noms de colonnes sous forme de tableau plat, tandis que les autres réponses renvoyaient des tableaux associatifs, j'ai donc utilisé:
$ col_names est désormais égal à:
la source
La
mysql_list_fields
fonction pourrait vous intéresser; mais, comme le dit le manuel:la source
vous pouvez obtenir la structure complète de la table en utilisant la commande simple suivante.
ou vous pouvez utiliser la requête suivante.
la source
dans mysql pour obtenir les détails des colonnes et la structure des tableaux en suivant des mots clés ou des requêtes
1.
DESC table_name
2.
DESCRIBE table_name
3.
SHOW COLUMNS FROM table_name
4.
SHOW create table table_name;
5.
EXPLAIN table_name
la source
la source
cela a fonctionné pour moi ..
la source
J'ai écrit un simple script php pour récupérer les colonnes de la table via PHP: Show_table_columns.php
Prendre plaisir!
la source
mysqli fetch_field () a fonctionné pour moi:
Source: https://www.w3schools.com/pHP/func_mysqli_fetch_field.asp
la source