我创建了mysql表,并且在那里放了一些列。检查列表是否存在于Mysql表中通过php
现在我想通过php检查数据库中是否存在某个列。
像这样:
if (column exist){
echo "Column in table is available."
}
else{
echo "Column doesnt exist.";
}
是否有可能做到这一点?
一个您的时间:)
我创建了mysql表,并且在那里放了一些列。检查列表是否存在于Mysql表中通过php
现在我想通过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, Check if a column exists in a table with SQL
注: - mysql_ *是不推荐使用mysqli
或PDO
你可以使用mysql_list_fields和mysql_num_fields来获取表格的列
$fields = mysql_list_fields('database_name', 'table_name');
$columns = mysql_num_fields($fields);
看起来像这些方法在当前的PHP版本中折旧 – atwellpub
在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';
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表名 '%columns_name%'
如何创建查询伴侣吗? – user3611408
可能重复的[MySQL,检查列中是否存在SQL表](http://stackoverflow.com/questions/3395798/mysql-check-if-a-column-exists-in-a-table-with -sql) – lighter