Mysql
 sql >> Database >  >> RDS >> Mysql

Ottieni solo i nomi delle colonne come nell'array mysql

Non è necessaria una query SQL aggiuntiva solo per ottenere i nomi dei campi. Puoi utilizzare la tua normale query SELECT e ottenere semplicemente i nomi dei campi (e la definizione) da quella query. Migliori prestazioni in questo modo!

Soluzione MySQL obsoleta:

La libreria MySQL è obsoleta. Può essere usato come in questo link, ma dovresti passare alla libreria mysqli che è quasi identica se usata proceduralmente (secondo campione).

htttp://www.php.net/manual/en/function.mysql-nome-campo.php

La soluzione MySQLi OOP:

$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 soluzione procedurale 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