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
元素的成员以及如何设置它们以接收输出值。
-
不支持转换。该
buffer_type
值可能无效或不是受支持的类型之一。 -
记不清。
-
出现未知错误。