sql >> Base de Datos >  >> RDS >> Mysql

Obtenga solo nombres de columna como en la matriz mysql

No necesita una consulta SQL adicional solo para obtener los nombres de sus campos. Puede usar su consulta SELECT normal y simplemente obtener los nombres de campo (y la definición) de esa consulta. ¡Mejor rendimiento de esta manera!

Solución obsoleta de MySQL:

La biblioteca MySQL está en desuso. Se puede usar como en este enlace, pero debe cambiar a la biblioteca mysqli, que es casi idéntica cuando se usa de manera procesal (segundo ejemplo).

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

La solución 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();
}    

La solución MySQLi procedimental:

$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