Проверьте, существует ли столбец в таблице Mysql через php

Я создал таблицы mysql, и там я поставил несколько столбцов.

Теперь я хочу проверить, что определенный столбец существует в базе данных через php.

Как это:

if (column exist){ echo "Column in table is available." } else{ echo "Column doesnt exist."; } 

Можно ли сделать это?

Большое спасибо за ваше время 🙂

пытаться

 $result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result))?TRUE:FALSE; if($exists) { // do your stuff } 

Для более: – MySQL, проверьте, существует ли столбец в таблице с SQL

Примечание: – mysql_ * устарел использовать mysqli или PDO

Вы можете использовать mysql_list_fields и mysql_num_fields для получения столбцов таблицы

 $fields = mysql_list_fields('database_name', 'table_name'); $columns = mysql_num_fields($fields); 

В PHP:

 $fields = mysql_list_fields('database_name', 'table_name'); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) {$field_array[] = mysql_field_name($fields, $i);} if (!in_array('price', $field_array)) { $result = mysql_query('ALTER TABLE table_name ADD price VARCHAR(10)'); } 

Это также должно помочь вам:

 IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TEST' AND COLUMN_NAME = 'TEST_DATE') BEGIN ALTER TABLE TEST ADD TEST_DATE DATETIME END 

Или вы можете сделать:

 Show columns from table like 'string'; 

Проверьте этот вопрос: как проверить, существует ли столбец таблицы mysql?

 If your database is MySQL then, you can use mysql_field_name() and mysql_fetch_field() function in php. $res = mysql_query('select * from customer', $link); echo mysql_field_name($res, 0); // print cust_id echo mysql_field_name($res, 1); // print cust_name echo mysql_field_name($res, 2); // print cust_age 

Запустите этот запрос в php и проверьте, если количество строк> 0: – DESC tablename '% columns_name%'