我在阅读公司的代码库时,发现可以做得更好。

$dbRow = $dbh->Execute("SELECT * FROM database.table LIMIT 1");
$tableColumnCount = $dbRow->_numOfFields;


这是使用ADODB获取列数的唯一方法吗?必须执行查询似乎很愚蠢,因此您可以提出问题。

最佳答案

您可以使用INFORMATION_SCHEMA.COLUMNS表:

SELECT COUNT(*)
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_name = 'your_table_name'
   AND table_schema = 'your_database_name'


也就是说,您可能需要先运行FLUSH TABLES命令,以使INFORMATION_SCHEMA.COLUMNS反映现有的表和列because the data is cached

关于php - ADODB获取列数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3250780/

10-13 04:52