php
  • html
  • mysql
  • 2014-09-12 155 views 1 likes 
    1

    我想從表中獲取列名並顯示它們,以便稍後進行比較。 要獲取的名字,我想:MySQL - 從表中獲取列名並顯示它們(使用PHP)

    $entry = mysqli_query($con, 'SHOW COLUMNS FROM table'); 
    

    $entry = mysqli_query($con, "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE TABLE_SCHEMA = '$db' AND TABLE_NAME = 'table'"); 
    

    我不知道這是否運行正常與否,因爲我沒有得到一個錯誤信息出現。 如果我試圖通過echo打印$條目的內容,我不斷收到錯誤。 以前在我的代碼,我使用打印其他條目:

    $test = mysqli_query($con, 'SELECT DISTINCT LK_Release FROM table'); 
    while($row = mysqli_fetch_object($test)) 
    { 
    echo "Releasename: " . "$row->LK_Release". "<br>"; 
    ... } 
    

    此輸出爲我工作。 什麼我試圖輸出列名:

    while($row = mysqli_fetch_object($entry)) 
    { 
    echo $row; 
    } 
    

    任何想法?

    +0

    肯定是正確的'SHOW COLUMNS FROM table',只取它像一個正常的查詢 – Ghost 2014-09-12 11:21:58

    +0

    你可以張貼沒有工作的代碼,而不是該做的代碼? – andrew 2014-09-12 11:22:19

    +0

    當然。我上次嘗試的是:while($ row = mysqli_fetch_object($ entry)) { \t echo $ row; \t} – 2014-09-12 11:24:18

    回答

    1

    您的查詢已經正確。但是你缺乏什麼東西在取:

    while($row = mysqli_fetch_object($entry)) 
    { 
        echo $row->Field . '<br/>'; 
           //^access the objects properties 
    } 
    
    +1

    這就是它,謝謝:) – 2014-09-12 11:38:22

    +0

    @OfficerBacon肯定沒有問題。很高興它有幫助 – Ghost 2014-09-12 11:39:17

    0

    下面的SQL語句是等價的:

    SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE table_name = 'tbl_name' 
    

    你可以用形容:

    DESCRIBE my_table; 
    

    或者在新版本中,你可以使用INFORMATION_SCHEMA:

    SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; 
    

    或者你可以使用SHOW COLUMNS:

    SHOW COLUMNS FROM my_table; 
    
    相關問題