12 年前
FYI:odbc_result 包含以下值:TABLE_QUALIFIER TABLE_OWNER TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_FLAGS
我编写了以下代码将这些值转储到页面上。我需要它来确定列的数据类型是否为特定类型(例如:blob),以便显示不同的结果,而不是实际内容。
$connection_string = 'OPTIM_BLOB';
$user = '';
$pass = '';
if (!($connect = odbc_pconnect($connection_string, $user, $pass))) {
} else {
echo '连接到 DSN,加载表格<br /><br />';
$result = odbc_tables($myconn);
$tables = array();
while (odbc_fetch_row($result)){
if(odbc_result($result,"TABLE_TYPE")=="TABLE") {
$TableName = odbc_result($result,"TABLE_NAME");
echo '<span id="tableName">表格:'.$TableName.'</span> ....<br /><br /> ';
//--------- 显示该表格中的列 ---------------
$result2 = odbc_columns($myconn, '', "%", $TableName, "%"); //db 连接、数据库名称、架构、表名、列名);
while(odbc_fetch_row($result2)){
//TABLE_QUALIFIER TABLE_OWNER TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_FLAGS
$COLUMN_NAME = odbc_result($result2, 4); // COLUMN_NAME
$DataType = odbc_result($result2, 6);
echo '<b>列名:'.$COLUMN_NAME.'</b> 类型:'.$DataType.'<br /><br />';
// 所有内容
echo '1: '.odbc_result($result2, 1).'<br />'; // TABLE_QUALIFIER
echo '2: '.odbc_result($result2, 2).'<br />'; // TABLE_OWNER
echo '3: '.odbc_result($result2, 3).'<br />'; // TABLE_NAME
echo '4: '.odbc_result($result2, 4).'<br />'; // COLUMN_NAME
echo '5: '.odbc_result($result2, 5).'<br />'; // DATA_TYPE (数字)
echo '6: '.odbc_result($result2, 6).'<br />'; // TYPE_NAME (字符串)
echo '7: '.odbc_result($result2, 7).'<br />'; // PRECISION
echo '8: '.odbc_result($result2, 8).'<br />'; // LENGTH
echo '9: '.odbc_result($result2, 9).'<br />'; // SCALE
echo '10: '.odbc_result($result2, 10).'<br />'; // RADIX
echo '11: '.odbc_result($result2, 11).'<br />'; // NULLABLE
echo '12: '.odbc_result($result2, 12).'<br />'; // REMARKS
echo '13: '.odbc_result($result2, 13).'<br />'; // COLUMN_FLAGS
}
}
}
}