2015-12-21 107 views
1

我在數據庫中有幾列,我想打印出所有列名稱,即數據庫中人員的名稱。SQL循環將不打印列名稱

我在選擇列名時遇到了麻煩,這段代碼會運行循環,但只有$ i會打印,而不是列的實際名稱。有什麼建議?謝謝

$query = mysql_query("SELECT * FROM People"); 

    $i = 1; 
    while($row = mysql_fetch_assoc($query)) { 

       $name = $row['query']; 


       if ($count > '1') { 
      ?> 
      <table> 
      <tr> 
      <td><p><b><?php print($name . "</p></td></tr>"); 
      $i = $i + 1; 
      ?> 

P. 我試着用:從Names.COLUMNS 選擇COLUMN_NAME在表格名=「名」,但這不會工作,它告訴我:拒絕訪問,真的不知道爲什麼

+0

即你要列名列 – Abbas

回答

2

下面是代碼來獲得列你的桌子的名字。

$sql = "SHOW COLUMNS FROM your-table"; 
$result = mysqli_query($conn,$sql); 
while($row = mysqli_fetch_array($result)){ 
    echo $row['Field']."<br>"; 
} 

但是,由於您的訪問被拒絕。這意味着您無權訪問表元數據。

所以,你可以使用,

while ($row = mysql_fetch_assoc($result)) { 
    if (empty($columns)) { 
     $columns = array_keys($row); 
     // Here $columns is array and it contains all column name 
    } 
} 
0

我想你應該試試這個:

$query = "SELECT * FROM People"; 
$result = mysqli_query($conn, $query);?> 
<table> 
<?php 
while($row = mysqlsi_fetch_assoc($result)){ 
    ?> 
     <tr> 
     <td><p><?php print($row->id);?></p></td> 
     <td><p><?php print($row->name);?></p></td> 
     <td><p><?php print($row->lastname);?></p></td> 
     </tr> 
    <?php 
    } ?> 
</table> 

假設,你的SQL表有以下字段:idnamelastname

0

內部while循環您可以使用

foreach($row as $column => $value){ 
    printf("Column: %s has value: %s\n", $column, $value); 
} 

由於mysql_fetch_assoc讓您隨心所欲的關鍵=>值的信息返回的關聯數組。

HTH

0

在PHP中使用mysql_field_name函數來獲取列名

$query = mysql_query("SELECT * FROM People"); 

$i = 1; $j=0; // I have declared $j incrementor 
while($row = mysql_fetch_assoc($query)) { 

      $name = $row['query']; 

    $columnname = mysql_field_name($query, $j); // This gives the column name of table. 
      if ($count > '1') { 
     ?> 
     <table> 
     <tr> 
     <td><?php echo $columnname; ?></td> 
     <td><p><b><?php print($name . "</p></td></tr>"); 
     $i = $i + 1; 
    $j = $j + 1; 
     ?> 
+0

@parixit裏面沒有價值,那工作謝謝。如果我想打印除第一個以外的所有列名(這是我的ID號),我該怎麼做? – Nockingam

+1

只需使用變量$ i,該變量從1開始計數,並跳過您的第一個cloumn名稱 –