首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取mysql表列的名称

如何获取mysql表列的名称
EN

Stack Overflow用户
提问于 2013-02-05 05:31:16
回答 2查看 216关注 0票数 5

解决了我已经使用了来自alfasin的答案,但由于它给了我太多的信息,我写了一个小脚本来只获取字段名称。因为字段名在前面,所以非常简单:

代码语言:javascript
复制
  $here = array();
  $SQL = "SHOW COLUMNS FROM User";
    foreach($conn->query($SQL) as $row) {
      $here[] = $row[0];
    }
  echo '<pre>';print_r($here);echo '<pre>';

这给我留下了包含列名的新数组$here,希望这对将来的人有所帮助:)

原问题:

让我澄清一下,我有一个mysql表,我正在尝试从其中选择*,并在一个html列表<ol>中显示结果。我可以很好地获取行数据,但我始终无法弄清楚如何获取表列名称,以便将它们分别与行进行匹配。下面是获取行数据的代码:

代码语言:javascript
复制
//get those results
 $sql = "SELECT DISTINCT *
 FROM User
 WHERE Owner = '".$owner."'";
  foreach($conn->query($sql) as $row) {
  //split array in half
  $hax = count($row);
  $halfHax = $hax / 2;
   //set up a for loop to give results
    $u = 1;
      for($i = 2; $i <= $halfHax; $i++){
        echo $row[$u].'<br>';
        $u++;
      }
   }

这给了我所有的结果,Owner == $owner就像它应该的那样,但我希望列名与这些列一起列出,我可以硬编码出来,但可能会添加/更改更多的列,所以我不想。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-05 05:34:19

票数 3
EN

Stack Overflow用户

发布于 2013-02-05 05:41:24

将行作为关联数组来获取,以便将列名保留为数组键。这是我的建议:

代码语言:javascript
复制
$sql = "SELECT DISTINCT * FROM User WHERE Owner = :owner";
$sth = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':owner' => $owner);

while($row=$sth->fetch(PDO::fetch_assoc) as $row) {
  //split array in half
  $hax = count($row);
  $halfHax = $hax / 2;
  //set up a for loop to give results
  foreach ($row as $key => $value) {
    echo $key.'='.$value.'<br />';
  }

}

仅列出列名:

代码语言:javascript
复制
array_keys($row);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14696020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档