Php 获取查询中的列名

Php 获取查询中的列名,php,sql,database,Php,Sql,Database,如何从表中获取空记录的列名?例如: SELECT column.name FROM table WHERE id='1111' AND column_name='' 它应该返回表中空列的每个标题。如果您使用mysql 5.0+可以获得如下表中的所有列名: SELECT COLUMN_NAME FROM `information_schema`.`COLUMNS` WHERE TABLE_NAME='$table_name' ORDER BY ORDINAL_POSITION 注意:将$tab

如何从表中获取空记录的列名?例如:

SELECT column.name FROM table WHERE id='1111' AND column_name=''

它应该返回表中空列的每个标题。

如果您使用mysql 5.0+可以获得如下表中的所有列名:

SELECT COLUMN_NAME
FROM `information_schema`.`COLUMNS`
WHERE TABLE_NAME='$table_name'
ORDER BY ORDINAL_POSITION

注意:将$table_name更改为表名。

为了简单起见,我会使用php,但是可能有一种复杂的mysql方法在dbms级别执行此操作

在伪代码中:

$result = MYSQL_FETCH_ASSOC ( MYSQL_QUERY( SELECT * FROM table WHERE id='1111' ) )

$blankCols = array();
foreach($result[0] as $key=>$value){
   if($value=="")
   {
      $blankCols[] = $key;
   }
}

正如我前面提到的,这看起来很难看,看起来是一个糟糕的数据结构设计。

这也是一种方法:

$mysql_query = mysql_query("describe table");
while ($row = mysql_fetch_array($mysql_query)) {
 echo $row[0]."</br>";
}
$mysql\u query=mysql\u query(“描述表”);
while($row=mysql\u fetch\u数组($mysql\u query)){
echo$行[0]。“
”; }
我不明白你的意思,请你精确一点好吗?除非你非常疯狂,否则用“普通”sql是做不到的。这看起来是一个糟糕的应用程序设计。我不明白这个问题。你的意思是想知道空列的名称吗?或者别的什么?他只想要一个特定记录的列名,这些列名留空