Bạn không cần truy vấn SQL bổ sung chỉ để lấy tên trường của mình. Bạn có thể sử dụng truy vấn SELECT bình thường của bạn và chỉ nhận được tên trường của bạn (và định nghĩa) từ truy vấn đó. Hiệu suất tốt hơn theo cách này!
Deprecated Giải pháp MySQL:
Các MySQL Thư viện bị phản đối. Nó có thể được sử dụng như trong liên kết này, btu bạn nên chuyển sang thư viện mysqli gần như giống hệt nhau khi sử dụng proceduraly (mẫu thứ hai).
htttp: //www.php.net/manual/en/function.mysql-field-name.php
Các OOP MySQLi Giải pháp:
$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();
}
Giải pháp MySQLi Theo Thủ Tục :
$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
Và những gì bạn nhận được để thay thế? – silkfire
sử dụng print_r ($ fields) để gỡ lỗi! ... một lệnh rất hữu ích trong việc gỡ lỗi php –
FYI, 'mysql_ *' không được dùng nữa, bạn nên sử dụng 'mysqli' hoặc' PDO'.[Thay đổi từ mysql_ sang PDO] (http://www.sitepoint.com/migrate-from-the-mysql-extension-to-pdo/) – SmokeyPHP