6.4.28 mysql_stmt_store_result()

int mysql_stmt_store_result(mysql_stmt * stmt)

描述

结果集是通过呼叫产生的mysql_stmt_execute()为SQL语句执行已准备好的语句,例如选择表演描述, 和解释。默认情况下,成功执行的已成功执行的语句的结果集不会在客户端缓冲mysql_stmt_fetch()从服务器上一次获取一个。导致完整的结果集要在客户端上缓冲,呼叫mysql_stmt_store_result()绑定数据缓冲区后mysql_stmt_bind_result()在打电话之前mysql_stmt_fetch()获取行。(例如,查看第6.4.11节“mysql_stmt_fetch()”。)

mysql_stmt_store_result()除非您打电话,否则是结果集处理的可选mysql_stmt_data_seek()mysql_stmt_row_seek(), 或者mysql_stmt_row_tell()。这些功能需要可搜索的结果集。

没必要打电话mysql_stmt_store_result()执行未生成结果集的SQL语句后,但如果您这样做,它不会伤害或导致任何显着的性能问题。您可以检测语句是通过检查是否产生结果集的结果mysql_stmt_result_metadata()回报空值。有关更多信息,请参阅第6.4.23节“mysql_stmt_result_metadata()”

笔记

MySQL不会默认计算mysql_field-> max_length.对于所有列mysql_stmt_store_result()因为计算这会放慢速度mysql_stmt_store_result()大大,大多数应用都不需要最长长度。如果你想最长长度更新,您可以打电话mysql_stmt_attr_set(mysql_stmt,stmt_attr_update_max_length,&标志)启用这个。看第6.4.3节“mysql_stmt_attr_set()”

返回值

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

错误