2016-06-07 61 views
1

所有的行名字,我試圖從一個空表中獲取所有可用的行名獲得從空表與MySQL和PHP

我可以做一個查詢與

SELECT * FROM tablename; 

,並得到與vardump

結果
object(mysqli_result)#95 (5) { ["current_field"]=> int(0) ["field_count"]=> int(4) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) } 

有一個關於field_count的信息,但沒有名字。

+0

您可以使用http://php.net/manual/en/mysqli-result.fetch-fields.php循環並獲取字段名稱 –

+0

或者您可以選擇它們,如果您'對數據不感興趣並像正常結果集'SHOW COLUMNS FROM tablename' –

+1

「row names」?行沒有名字。 –

回答

1

使用fetch_field(),以獲取有關列的所有信息

$query = "SELECT * FROM tablename"; 

if ($result = $mysqli->query($query)) { 

    /* Get field information for all columns */ 
    while ($finfo = $result->fetch_field()) { 

    printf("Name:  %s\n", $finfo->name); 
    printf("Table: %s\n", $finfo->table); 
    printf("max. Len: %d\n", $finfo->max_length); 
    printf("Flags: %d\n", $finfo->flags); 
    printf("Type:  %d\n\n", $finfo->type); 
    } 
    $result->close(); 
} 
0
SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' 
    AND `TABLE_NAME`='yourtablename'; 
1

您可以使用此query

show columns from tablename 

例如

<?php 
    $mysql_hostname = "localhost"; 
    $mysql_user = "root"; 
    $mysql_password = ""; 
    $mysql_database = "user"; 
    $conn = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password,$mysql_database) or die("Could not connect database"); 
    $result = mysqli_query($conn,"show columns from student"); 
    $fields = array(); 
    $i = 0; 
    while($result1 = mysqli_fetch_assoc($result)){ 
     $fields[$i] = $result1['Field']; 
     $i++; 

    } 
    echo "<pre>";print_r($fields); 

請根據您的更改database憑據