与之前的消息一样,将 null 作为 db2_columns 的最后一个参数传递会导致没有任何内容返回。传递 '%' 则可以正常工作。文档确实需要更新以更正此错误,因为它非常具有误导性,并且 8 年前就被报告为错误!
(PECL ibm_db2 >= 1.0.0)
db2_columns — 返回一个结果集,其中列出了表中的列以及关联的元数据
$connection
,$qualifier
= null
,$schema
= null
,$table_name
= null
,$column_name
= null
返回一个结果集,其中列出了表中的列以及关联的元数据。
返回一个语句资源,其中包含一个结果集,该结果集包含描述与指定参数匹配的列的行。这些行由以下列组成
列名 | 描述 |
---|---|
TABLE_CAT | 目录的名称。如果此表没有目录,则值为 NULL。 |
TABLE_SCHEM | 模式的名称。 |
TABLE_NAME | 表或视图的名称。 |
COLUMN_NAME | 列的名称。 |
DATA_TYPE | 列的 SQL 数据类型,表示为整数值。 |
TYPE_NAME | 表示列数据类型的字符串。 |
COLUMN_SIZE | 表示列大小的整数值。 |
BUFFER_LENGTH | 存储此列数据的最大字节数。 |
DECIMAL_DIGITS | 列的刻度,或null (刻度不适用时)。 |
NUM_PREC_RADIX | 整数值,可以是10 (表示精确数值数据类型)、2 (表示近似数值数据类型)或null (表示基数不适用的数据类型)。 |
NULLABLE | 表示列是否可为空的整数值。 |
REMARKS | 列的描述。 |
COLUMN_DEF | 列的默认值。 |
SQL_DATA_TYPE | 表示列大小的整数值。 |
SQL_DATETIME_SUB | 返回一个表示日期时间子类型代码的整数值,或null (对于不适用此代码的 SQL 数据类型)。 |
CHAR_OCTET_LENGTH | 字符数据类型列的最大八位字节长度,对于单字节字符集数据与 COLUMN_SIZE 相匹配,对于非字符数据类型则为null 。 |
ORDINAL_POSITION | 表中列的从 1 开始的索引位置。 |
IS_NULLABLE | 字符串值,其中 'YES' 表示列可为空,'NO' 表示列不可为空。 |
与之前的消息一样,将 null 作为 db2_columns 的最后一个参数传递会导致没有任何内容返回。传递 '%' 则可以正常工作。文档确实需要更新以更正此错误,因为它非常具有误导性,并且 8 年前就被报告为错误!
必须是
db2_columns($conn, '', '%', $table, '%');
不要忘记表名是大写的。这让我很头疼。