Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obter apenas nomes de coluna como no array mysql


Você não precisa de uma consulta SQL adicional apenas para obter seus nomes de campo. Você pode usar sua consulta SELECT normal e apenas obter seus nomes de campo (e definição) dessa consulta. Melhor desempenho assim!

Solução MySQL obsoleta:

A Biblioteca MySQL está obsoleta. Ele pode ser usado como neste link, mas você deve alternar para a biblioteca mysqli que é quase idêntica quando usada proceduralmente (segunda amostra).

htttp://www.php.net/manual/en/function.mysql-field-name.php

A solução OOP MySQLi:
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

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();
}    

A solução procedimental do MySQLi:
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";
if ($result = mysqli_query($link, $query)) {
    /* Get field information for all fields */
    while ($finfo = mysqli_fetch_field($result)) {
        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);
    }
    mysqli_free_result($result);
}

http://www.php.net/manual/en /mysqli-result.fetch-field.php