6.4.5 mysql_stmt_bind_result ()

mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)

描述

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

在调用之前,所有列都必须绑定到缓冲区mysql_stmt_fetch ()绑定是数组的地址吗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元素以及应如何设置它们以接收输出值。

返回值

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

错误