6.4.23 mysql_stmt_result_metadata ()

MYSQL_RES * mysql_stmt_result_metadata (MYSQL_STMT *支撑)

描述

mysql_stmt_result_metadata ()用于获取结果集的元数据。其使用要求语句执行时mysql_stmt_execute ()并产生一个结果集。

mysql_stmt_result_metadata ()可称为准备语句之后mysql_stmt_prepare ()在关闭之前声明处理程序。返回的结果集的元数据mysql_stmt_result_metadata ()是一个指针的形式MYSQL_RES结构,可用于过程等元信息的字段和单独的字段信息。这个结果集指针可以作为参数传递给任何实地API函数的过程结果集元数据,如:

当你完成了结果集的元数据结构,它通过自由mysql_free_result ()。这类似于你自由的方式从调用获得的结果集的结构mysql_store_result ()

如果你叫mysql_stmt_result_metadata ()mysql_stmt_prepare ()但在mysql_stmt_execute ()、列类型的元数据是由优化器决定。如果你叫mysql_stmt_result_metadata ()mysql_stmt_execute ()实际上,元数据的列类型出现在结果集。在大多数情况下,这些应该是一样的。

如果执行语句调用声明中,它可能会产生多个结果集。在这种情况下,没有电话mysql_stmt_result_metadata ()后立即mysql_stmt_prepare ()。相反,后分别检查每个结果集的元数据调用mysql_stmt_execute ()。该技术的一个示例,请参阅3.5.4节”,准备叫声明支持”

返回的结果集mysql_stmt_result_metadata ()只包含元数据。它不包含任何一行的结果。获取行结果,使用声明处理程序mysql_stmt_fetch ()后执行的语句mysql_stmt_execute (),像往常一样。

返回值

一个MYSQL_RES结果结构。如果不存在元信息。

错误

例子

看这个例子6.4.11节,“mysql_stmt_fetch ()”