PHP mySQL获取表头函数

时间:2012-06-18 13:58:26

标签: php mysql

我正在尝试构建一个PHP函数,它允许我拥有一个MySQL数据库标题数组,用于查找特定字段。

function table($tablename,$id) {
  $post = mysql_query("SELECT * FROM $tablename WHERE ID = '$id'");
}

然后,我如何将表头输出为有问题的行的有效微型查询。

例如。 $post->title, $post->timestamp, $post->field4

4 个答案:

答案 0 :(得分:3)

你需要MySQLi或PDO_MySQL,但在你的情况下:

while ($row = mysql_fetch_assoc($post)) {
    echo $row['title'];
}

Documentation

请记住,不建议使用mysql_ *函数。

答案 1 :(得分:2)

mysql_fetch_assoc($post)怎么样?

要将所有字段名称设置为单独的数组:

$post = mysql_fetch_assoc($post);
$fields = array();

foreach($post as $title => $value){
    $fields[] = $title;
}

您可以在while循环中使用它来遍历所有行并获取theri字段值(以及它们的名称):

while($p = mysql_fetch_assoc($post)){

    $title = $p['title'];
    $timestamp = $p['timestamp'];

    //And so on...
}

编辑:和Pierpaolo是对的,你应该使用另一个mysql实现,因为旧的将在PHP 5.5 / 5.6或稍后删除...

答案 2 :(得分:2)

您可以通过执行以下命令获取列名称:

DESCRIBE `MyTable`;

它将返回包含Field,Type,Key等的结果集

$query = mysql_query("DESCRIBE `MyTable`");
while($result = mysql_fetch_assoc($query)) {
    echo $result['Field'] . "\n";
}

答案 3 :(得分:1)

一个简单的PHP脚本,用于在 MySQL 中获取字段名称

<?php 
    $sql = "SELECT * FROM table_name;"; 
    $result = mysql_query($sql); 
    $i = 0; 
    while($i<mysql_num_fields($result)) 
    { 
      $meta=mysql_fetch_field($result,$i); 
      echo $i.".".$meta->name."<br />"; 
      $i++; 
    } 
?> 

<强>输出:

0.id 
1.todo 
2.due date 
3.priority 
4.type 
5.status 
6.notes 

希望这有帮助!取自php.net文档。