**mysql_store_result()**从服务器上检索结果集时,就提取了行,并为之分配内存,存储到客户机中,随后调用 mysql_fetch_row() 就再也不会返回错误,因为它仅仅是把行脱离了已经保留结果集的数据结构。mysql_fetch_row() 返回 NULL 始终表示已经到达结果集的末端。

**mysql_use_result()本身不检索任何行,而只是启动一个逐行的检索,就是说必须对每行调用 mysql_fetch_row() 来自己完成。**既然如此,虽然正常情况下,mysql_fetch_row() 返回 NULL 仍然表示此时已到达结果集的末端,但也可能表示在与服务器通信时发生错误。可通过调用 mysql_errno() 和 mysql_error() 将两者区分开来。

与 mysql_use_result() 相比,mysql_store_result() 有着较高的内存和处理需求,因为是在客户机上维护整个结果集,所以内存分配和创建数据结构的耗费是非常巨大的,要冒着溢出内存的危险来检索大型结果集,如果想一次检索多个行,可用 mysql_use_result()。

**mysql_use_result() 的结果必须“一次性用完”,也就是说用它得到一个 result 后,必须反复用 mysql_fetch_row() 读取其结果直至该函数返回 null 为止,否则如果你再次进行 mysql 查询,会得到 “Commands out of sync; you can’t run this command now” 的错误。**而 mysql_store_result() 得到 result 是存下来的,你无需把全部行结果读完,就可以进行另外的查询。比如你进行一个查询,得到一系列记录,再根据这些结果,用一个循环再进行数据库查询,就只能用 mysql_store_result() 。

Mysql_use_result和Mysql_store_result相关推荐

  1. 使用 mysql_use_result 还是使用 mysql_store_result

    原文:https://my.oschina.net/moooofly/blog/186456 摘要: 本文整理了关于 MySQL C API 中 mysql_use_result() 和 mysql_ ...

  2. mysql_store_result和mysql_use_result的区别

    mysql_store_result() 本次查询的所有结果都缓存到客户端,这样做的好处是可以随意的访问结果中的值,例如可以使用mysql_data_seek() 和mysql_row_seek() ...

  3. linux程序设计——运行SQL语句(第八章)

    8.3    使用C语言訪问MySQL数据 8.3.3 运行SQL语句 运行SQL语句的主要API函数被恰当的命名为: int mysql_query(MYSQL *connection, const ...

  4. commands out of sync mysql,MySQL-python: Commands out of sync

    在给 MySQL 数据库访问层增加新功能时遇到了这样的错误: ProgrammingError: (2014, "Commands out of sync; you can't run th ...

  5. MySQL常见错误码

    2019独角兽企业重金招聘Python工程师标准>>> 自建MySQL环境主机 主机:iZbp1e*****krn92qrx0Z 内网ip: 10.26.254.217 客户端ecs ...

  6. 关于Mysql使用时出现部分错误的总结

    最近进行mysql开发时,遇到了一些比较常见的错误,但根据网上的一些解决方法没有办法解决,最后自己不断调试而解决掉了,特记录一下. 一.mysql lost connection during que ...

  7. mysql error:2014 Commands out of sync; you can't run this command now

    最近在项目中经常会出现数据库操作失败的,日志抛出的错误的 Commands out of sync; you can't run this command now.但是把具体的这条sql语句放到可视化 ...

  8. 使用C语言访问MySQL数据库基础

    使用C语言访问MySQL数据库基础 一.MySQL管理 包含在MySQL发行版中的一些有用的工具程序使管理工作变得相当容易. 除mysqlshow命令以外,所有的MySQL命令都接受所示的3个标准参数 ...

  9. mysql执行存储过程exec_mysql 执行存储过程 exec

    mysql实时同步到mssql的解决方案 数据库在应用程序中是必不可少的部分,mysql是开源的,所以很多人它,mssql是微软的,用在windows平台上是非常方便的,所以也有很多人用它.现在问题来 ...

最新文章

  1. Spring AOP通知顺序
  2. ARM Trustzone介绍-视频学习
  3. java中try 与catch的使用
  4. 一步步学习EF Core(3.EF Core2.0路线图)
  5. [改善Java代码]不推荐使用binarySearch对列表进行检索
  6. 【 Element UI 】—Element UI 的基本使用
  7. 站在物联网风口,如何抢滩千亿级智能家居市场?
  8. 布鲁斯的秘密-序章:我是布鲁斯
  9. Keepalived实战(3)
  10. MSsql差异备份总结
  11. typecast java_Delphi设置无效的Typecast
  12. HCNP数通认证考试心得体会
  13. 教你如何用python获得中国气象数据网的API数据并且导入数据库(附源码)
  14. Win10重装系统后,Microsoft账号无法登录,提示“发生了错误”,以及输入账户密码后,显示白屏问题的解决方案
  15. php怎么看回调的异步通知的数据_paypal支付,异步回调(php)
  16. 代运营服务和传统的数字化服务有什么区别呢?
  17. android item弹出popupwindow recycleview_PopupWindow+RecyclerView实现上下滑动框功能
  18. 云授权系统服务器系统连接失败,金蝶云授权码连接不到服务器
  19. RTL8211F 硬件配置
  20. Mybatis——注入执行sql查询、更新、新增以及建表语句

热门文章

  1. python+pyqt5+mysql设计图书管理系统(1)- 数据库
  2. HD Base T分配器 灵点科技
  3. ts+v3 报错:‘Upload.vue‘ cannot be compiled under ‘--isolatedModules‘ because it is considered a global
  4. 多媒体计算机的关健技术是什么,多媒体计算机的关键技术
  5. oracle连接出现ora-12154,与虚拟机Oracle连接出现ora-12154问题的解决方法
  6. 防火墙iptables原理及简单应用
  7. 展讯camera驱动调试
  8. 展讯平台GPIO调试方法
  9. nginx的rewrite中last和break 及 permanent和redirect的介绍
  10. SCU软件设计与体系结构第三次测试试卷