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()”。
命令以不正当的顺序执行。
内存不足。
MySQL Server已经消失了。
查询期间与服务器的连接丢失。
出现未知错误。