ds78662302 2014-03-21 12:53
浏览 54
已采纳

通过PHP从数据库显示COLUMN NAMES

I am trying to pull all the column names from my database 'settings' and list them in PHP.

A bit of research has come up with the following:

SHOW COLUMNS FROM settings

but I don't know how to go about listing these off through PHP. it would be helpful if any code posted was a prepared statement format, but not required.

Here is my PHP, it's giving me this error:

Notice: Undefined index: sThumbWidth in /home/demomycm/public_html/subdomains/mercury/eshop/library/classes/class.settings.php on line 204

for every field in my database.

$loadColumns = array();

    $query = "SHOW COLUMNS FROM settings";
    $result = $this->glob->dbConn->query($query);
    if($this->glob->dbConn->errno) {
        trigger_error('An error occurred whilst loading counties from the database.' . PHP_EOL . 'Query: ' . $query . PHP_EOL . 'Error[' . $this->glob->dbConn->errno . ']: ' . $this->glob->dbConn->error, E_USER_WARNING);
    } elseif($result->num_rows) {
        while($row = $result->fetch_assoc()) {
            $loadColumns[$row['Field']];
        }
        return $loadColumns;
    }

$loadColumnsHtml = '';
    $loadColumns = $this->Settings->LoadColumns();
    foreach($loadColumns as $i => $field) {
        $loadColumnsHtml .= '<div class="home-stat-small-link">' . ($i + 1) . '. <strong>' . $field['Field'] . '</strong>.</div>';
    }
  • 写回答

3条回答 默认 最新

  • drcomwc134525 2014-03-21 12:56
    关注

    In your code you have $loadColumns as an array.
    This line does nothing: $loadColumns[$row['Field']];
    Basically your getting the value in $loadColumns with the key associated with $row['Field'] and not assigning anything.

    You want something like this perhaps for that line:

    array_push($loadColumns,$row['Field']);
    

    Full code below

    $loadColumns = array();
    
        $query = "SHOW COLUMNS FROM settings";
        $result = $this->glob->dbConn->query($query);
        if($this->glob->dbConn->errno) {
            trigger_error('An error occurred whilst loading counties from the database.' . PHP_EOL . 'Query: ' . $query . PHP_EOL . 'Error[' . $this->glob->dbConn->errno . ']: ' . $this->glob->dbConn->error, E_USER_WARNING);
        } elseif($result->num_rows) {
            while($row = $result->fetch_assoc()) {
               array_push($loadColumns,$row['Field']);  //<-- this line has been changed
            }
            return $loadColumns;
        }
    
    $loadColumnsHtml = '';
        $loadColumns = $this->Settings->LoadColumns();
        foreach($loadColumns as $i => $field) {
            $loadColumnsHtml .= '<div class="home-stat-small-link">' . ($i + 1) . '. <strong>' . $field['Field'] . '</strong>.</div>';
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line