우리 회사의 코드 기반을 통해 읽었으며 더 잘할 수있는 것처럼 보였습니다.ADODB 열 개수 얻기
$dbRow = $dbh->Execute("SELECT * FROM database.table LIMIT 1");
$tableColumnCount = $dbRow->_numOfFields;
ADODB를 사용하여 열 개수를 얻는 유일한 방법입니까? 질문을 할 수 있도록 쿼리를 실행해야하는 것은 바보 같습니다.
우리 회사의 코드 기반을 통해 읽었으며 더 잘할 수있는 것처럼 보였습니다.ADODB 열 개수 얻기
$dbRow = $dbh->Execute("SELECT * FROM database.table LIMIT 1");
$tableColumnCount = $dbRow->_numOfFields;
ADODB를 사용하여 열 개수를 얻는 유일한 방법입니까? 질문을 할 수 있도록 쿼리를 실행해야하는 것은 바보 같습니다.
당신은 INFORMATION_SCHEMA.COLUMNS 테이블을 사용할 수 있습니다 WHERE와 LIMIT 1을 대체 할 것으로 예상과 같이 말했다
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'your_table_name'
AND table_schema = 'your_database_name'
을, 당신은 INFORMATION_SCHEMA.COLUMNS가 기존 테이블과 열 because the data is cached을 반영하기 전에 FLUSH TABLES
명령을 실행하려고 할 수 있습니다.
프로그램이 마술처럼 테이블의 스키마를 알 수 없다면 데이터베이스에 도달해야합니다. LIMIT 0 MySQL의 법률 경우,이 약간 더 효율적인 것 - 나는 1 = 0
난 그냥 추한 열 개수 종류를 얻을 쿼리를 실행 생각합니다. 나는 그들의 API가 이것을 요구할 것을 기대하고 있었다. – stevebot
열의 수가 너무 나쁘지 않기를 바랄뿐입니다. 나는 동의한다 - 그것은 약간 추한 것이다. 그래도 잘 만들어진 점, Stevebot. –
MetaColumns or MetaColumnNames 당신에게이 정보
하는가하면 OLE DB 제공 업체 MySQL을 지원 ADODB의 OpenSchema 방법을 제공해야합니까? – onedaywhen