
mysql_list_fields 함수는 MySQL 4.x 버전에서 사용되었습니다. MySQL 5.x 버전부터는 INFORMATION_SCHEMA 테이블을 사용하여 테이블의 필드를 가져올 수 있습니다.
mysql_list_fields 함수를 사용하여 테이블의 필드를 가져올 때 테이블 이름이 변경되었을 때 오류가 발생하는 이유는 mysql_list_fields 함수가 테이블 이름을 캐시에 저장하기 때문입니다.
해결 방법은 mysql_list_fields 함수 대신 INFORMATION_SCHEMA.COLUMNS 테이블을 사용하는 것입니다.
예를 들어, 테이블 이름이 '테이블명'인 경우 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
sql
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '테이블명';
또는 PHP에서 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$result = mysql_query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '테이블명'");
while ($row = mysql_fetch_array($result)) {
echo $row['COLUMN_NAME'] . "n";
}
이러한 방법을 사용하면 테이블 이름이 변경되었을 때 오류가 발생하지 않습니다.
2025-05-28 13:04