Czy istnieje sposób na przechwycenie nazwy kolumny tabeli w mysql? za pomocą php
300
Możesz użyć DESCRIBE :
DESCRIBE my_table;
Lub w nowszych wersjach możesz użyć INFORMACJE_SCHEMA :
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Lub możesz użyć POKAŻ KOLUMNY :
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
do opisu można łatwo pomylić zDESC
zejściem. Nominalna ilość bajtów, którą oszczędzasz z powodu braku czytelności, nie jest tego warta.Następujące instrukcje SQL są prawie równoważne:
Odniesienie: INFORMACJE_SCHEMA KOLUMNY
źródło
SHOW COLUMNS
zwraca tabelę zawierającą nazwy kolumn, typy itp., ASELECT COLUMN NAME
zwraca tylko nazwy kolumn.Zrobiłem funkcję PDO, która zwraca wszystkie nazwy kolumn w prostej tablicy.
Wynikiem będzie tablica:
Przepraszam za necro, ale podoba mi się moja funkcja;)
PS Nie dodałem klasy Core, ale możesz użyć własnej klasy .. DS
źródło
To rozwiązanie pochodzi z wiersza polecenia mysql
W poniższym zapytaniu wystarczy zmienić <--DATABASE_NAME--> na bazę danych i <--TABLENAME--> na nazwę tabeli, w której chcesz tylko Wartości pola instrukcji DESCRIBE
źródło
Jest to również, jeśli wolisz:
źródło
Co powiesz na to:
źródło
Warto również zauważyć, że możesz używać tego,
EXPLAIN table_name
co jest synonimemDESCRIBE table_name
iSHOW COLUMNS FROM table_name
chociaż EXPLAIN jest częściej używany do uzyskiwania informacji o planie wykonania zapytania.źródło
Zbadać:
źródło
Funkcja MySQL opisująca tabelę powinna zabrać cię tam, gdzie chcesz się udać (wpisz nazwę tabeli w polu „table”). Będziesz musiał przeanalizować niektóre dane wyjściowe, ale jest to dość łatwe. O ile pamiętam, jeśli wykonasz to zapytanie, wynik zapytania PHP uzyskujący dostęp do funkcji, które normalnie dawałyby ci parę klucz-wartość, będzie miał nazwy kolumn jako klucze. Ale minęło trochę czasu odkąd użyłem PHP, więc nie trzymaj mnie tego. :)
źródło
Możesz także sprawdzić
mysql_fetch_array()
, jak w:źródło
Potrzebowałem nazw kolumn jako płaskiej tablicy, podczas gdy inne odpowiedzi zwróciły tablice asocjacyjne, więc użyłem:
$ col_names jest teraz równe:
źródło
Ta
mysql_list_fields
funkcja może Cię zainteresować; ale, jak stanowi instrukcja:źródło
możesz uzyskać całą strukturę tabeli, wykonując proste polecenie.
lub możesz użyć następującego zapytania.
źródło
w mysql, aby uzyskać szczegółowe informacje na temat kolumn i struktury tabeli, postępując zgodnie ze słowami kluczowymi lub zapytaniami
1.
DESC table_name
2)
DESCRIBE table_name
3)
SHOW COLUMNS FROM table_name
4
SHOW create table table_name;
5
EXPLAIN table_name
źródło
źródło
to zadziałało dla mnie ..
źródło
Napisałem prosty skrypt php, aby pobrać kolumny tabeli przez PHP: Show_table_columns.php
Cieszyć się!
źródło
mysqli fetch_field () pracował dla mnie:
Źródło: https://www.w3schools.com/pHP/func_mysqli_fetch_field.asp
źródło