Я создал таблицы 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%'