6.4.5 mysql_stmt_bind_result()

my_bool
mysql_stmt_bind_result(MYSQL_STMT *stmt,
                       MYSQL_BIND *bind)

描述

mysql_stmt_bind_result()用于将结果集中的输出列关联(即绑定)到数据缓冲区和长度缓冲区。当 mysql_stmt_fetch()被调用以获取数据时,MySQL 客户端/服务器协议将绑定列的数据放入指定的缓冲区中。

在调用之前,所有列都必须绑定到缓冲区 mysql_stmt_fetch()bind是结构数组的地址 MYSQL_BIND。客户端库希望该数组包含结果集中每一列的一个元素。如果您不将列绑定到 MYSQL_BIND结构, mysql_stmt_fetch()则只需忽略数据提取。缓冲区应该足够大以容纳数据值,因为协议不会以块的形式返回数据值。

可以随时绑定或重新绑定列,即使在部分检索结果集之后也是如此。新绑定在下次 mysql_stmt_fetch()调用时生效。假设应用程序绑定了结果集中的列并调用mysql_stmt_fetch(). 客户端/服务器协议返回绑定缓冲区中的数据。然后假设应用程序将列绑定到一组不同的缓冲区。下次调用 时,协议将数据放入新绑定的缓冲区 mysql_stmt_fetch()

要绑定列,应用程序调用 mysql_stmt_bind_result()并传递应存储值的输出缓冲区的类型、地址和长度。 第 6.2 节,“C API 准备语句数据结构”,描述了每个MYSQL_BIND 元素的成员以及如何设置它们以接收输出值。

返回值

零成功。如果发生错误,则非零。

错误