フィールド名を取得するためだけに追加のSQLクエリは必要ありません。通常のSELECTクエリを使用して、そのクエリからフィールド名(および定義)を取得できます。この方法でパフォーマンスが向上します!
廃止されたMySQLソリューション:
MySQLライブラリは非推奨です。このリンクのように使用できますが、手順に従って使用する場合はほぼ同じmysqliライブラリに切り替える必要があります(2番目のサンプル)。
htttp://www.php.net/manual/en/function.mysql-field-name.php
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();
}
手続き型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