2015-11-08 67 views
0

我有一個表中選擇作爲列的表的主索引,Here is my table image如何在選擇命令

我的查詢Select * from categories我的問題是如何我可以提取或上面的查詢執行後回聲我的表中的主索引。

<?php echo "Primary field is =".$rec['primary_field_name']; ?>
而從同一查詢的輸出是

主要領域是= CAT_ID提前

感謝

+0

你需要列名??? –

+0

是的,我需要主鍵+從單個選擇查詢行的列名稱 –

回答

1

我想這應該做你想要什麼:

<?php 
    $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
    mysql_select_db($dbname); 

    $sql='select * from `categories`;'; 

    $res=mysql_query($sql, $conn); 
    if($res){ 
     while($rs = mysql_fetch_object($res)){ 
      echo $rs->cat_id . ' ' . $rs->cat_desc .' '. $rs->cat_status.' '.$rs->cat_image.'<br />'; 
     } 
    } 

    mysql_free_result($res); 
    mysql_close($conn); 
?> 

由於我誤解了你的問題,下面的查詢可能對你很感興趣。

select `column_name` 
    from `information_schema`.`columns` 
    where (`table_schema` = database()) 
    and (`table_name` = 'categories') 
    and (`column_key` = 'pri'); 

雖然我不知道如何在標準SQL查詢中獲取主鍵的名稱。

你可以嘗試以下的爲「多合一」的解決方案:

select *, 
    (select group_concat(`column_name`) 
     from `information_schema`.`columns` 
     where (`table_schema` = database()) 
     and (`table_name` = 'categories') 
     and (`column_key` = 'pri')) as 'PrimaryKey' 
from `categories`; 

我在子查詢中使用group_concat,因爲它極有可能有一個composite Primary Key - 沒有group_concat你很可能得到一個錯誤。

+0

謝謝你的回答,但我將如何回顯我從這個 –

+0

同一個表的主要名稱只是'echo $ rs-> cat_id' @RamRaider所說的 – aldrin27

+0

對不起,我不詢問有關cat_id的值,我要求回顯名稱的主要字段或索引 –

0

使用mysql_fetch_assoc用於取得列或值

$sql='select * from `categories`'; 
$query=mysql_query($sql, $conn); 
while($row = mysql_fetch_assoc($query)) 
{ 
    foreach($row as $key => $value) 
    { 
     echo $key;//For print column name 
     echo $value;//For print value 
    } 
} 
+0

我需要獲取主ID的列名稱我的主索引 –

+0

使用** $ key **獲取列名稱 –