27.7.10.5 mysql_stmt_bind_result()
my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
Description
mysql_stmt_bind_result()用于将结果集中的输出列关联(即绑定)到数据缓冲区和长度缓冲区。当调用mysql_stmt_fetch()来获取数据时,MySQLClient 端/服务器协议将绑定列的数据放入指定的缓冲区中。
在调用mysql_stmt_fetch()之前,所有列都必须绑定到缓冲区。 bind
是MYSQL_BIND
结构数组的地址。Client 端库希望数组对结果集的每一列包含一个元素。如果您不将列绑定到MYSQL_BIND
结构,则mysql_stmt_fetch()只会忽略数据提取。缓冲区应该足够大以容纳数据值,因为该协议不会分块返回数据值。
即使已部分检索结果集,列也可以随时绑定或反弹。新的绑定在下次调用mysql_stmt_fetch()时生效。假设应用程序将结果集中的列绑定并调用mysql_stmt_fetch()。Client 端/服务器协议返回绑定缓冲区中的数据。然后,假设应用程序将列绑定到一组不同的缓冲区。当下一次调用mysql_stmt_fetch()时,该协议将数据放入新绑定的缓冲区中。
要绑定列,应用程序调用mysql_stmt_bind_result()并传递应将值存储在其中的输出缓冲区的类型,地址和长度。 第 27.7.8 节“ C API 准备的语句数据结构”描述每个MYSQL_BIND
元素的成员以及应如何设置它们以接收输出值。
Return Values
零成功。如果发生错误,则为非零值。
Errors
不支持该转换。 buffer_type
值可能无效或不是受支持的类型之一。
记不清。
出现未知错误。