6.4.5 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元素以及如何设置它们以接收输出值。

返回值

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

错误