Mysql_use_result和Mysql_store_result
**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相关推荐
- 使用 mysql_use_result 还是使用 mysql_store_result
原文:https://my.oschina.net/moooofly/blog/186456 摘要: 本文整理了关于 MySQL C API 中 mysql_use_result() 和 mysql_ ...
- mysql_store_result和mysql_use_result的区别
mysql_store_result() 本次查询的所有结果都缓存到客户端,这样做的好处是可以随意的访问结果中的值,例如可以使用mysql_data_seek() 和mysql_row_seek() ...
- linux程序设计——运行SQL语句(第八章)
8.3 使用C语言訪问MySQL数据 8.3.3 运行SQL语句 运行SQL语句的主要API函数被恰当的命名为: int mysql_query(MYSQL *connection, const ...
- commands out of sync mysql,MySQL-python: Commands out of sync
在给 MySQL 数据库访问层增加新功能时遇到了这样的错误: ProgrammingError: (2014, "Commands out of sync; you can't run th ...
- MySQL常见错误码
2019独角兽企业重金招聘Python工程师标准>>> 自建MySQL环境主机 主机:iZbp1e*****krn92qrx0Z 内网ip: 10.26.254.217 客户端ecs ...
- 关于Mysql使用时出现部分错误的总结
最近进行mysql开发时,遇到了一些比较常见的错误,但根据网上的一些解决方法没有办法解决,最后自己不断调试而解决掉了,特记录一下. 一.mysql lost connection during que ...
- 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语句放到可视化 ...
- 使用C语言访问MySQL数据库基础
使用C语言访问MySQL数据库基础 一.MySQL管理 包含在MySQL发行版中的一些有用的工具程序使管理工作变得相当容易. 除mysqlshow命令以外,所有的MySQL命令都接受所示的3个标准参数 ...
- mysql执行存储过程exec_mysql 执行存储过程 exec
mysql实时同步到mssql的解决方案 数据库在应用程序中是必不可少的部分,mysql是开源的,所以很多人它,mssql是微软的,用在windows平台上是非常方便的,所以也有很多人用它.现在问题来 ...
最新文章
- Spring AOP通知顺序
- ARM Trustzone介绍-视频学习
- java中try 与catch的使用
- 一步步学习EF Core(3.EF Core2.0路线图)
- [改善Java代码]不推荐使用binarySearch对列表进行检索
- 【 Element UI 】—Element UI 的基本使用
- 站在物联网风口,如何抢滩千亿级智能家居市场?
- 布鲁斯的秘密-序章:我是布鲁斯
- Keepalived实战(3)
- MSsql差异备份总结
- typecast java_Delphi设置无效的Typecast
- HCNP数通认证考试心得体会
- 教你如何用python获得中国气象数据网的API数据并且导入数据库(附源码)
- Win10重装系统后,Microsoft账号无法登录,提示“发生了错误”,以及输入账户密码后,显示白屏问题的解决方案
- php怎么看回调的异步通知的数据_paypal支付,异步回调(php)
- 代运营服务和传统的数字化服务有什么区别呢?
- android item弹出popupwindow recycleview_PopupWindow+RecyclerView实现上下滑动框功能
- 云授权系统服务器系统连接失败,金蝶云授权码连接不到服务器
- RTL8211F 硬件配置
- Mybatis——注入执行sql查询、更新、新增以及建表语句
热门文章
- python+pyqt5+mysql设计图书管理系统(1)- 数据库
- HD Base T分配器 灵点科技
- ts+v3 报错:‘Upload.vue‘ cannot be compiled under ‘--isolatedModules‘ because it is considered a global
- 多媒体计算机的关健技术是什么,多媒体计算机的关键技术
- oracle连接出现ora-12154,与虚拟机Oracle连接出现ora-12154问题的解决方法
- 防火墙iptables原理及简单应用
- 展讯camera驱动调试
- 展讯平台GPIO调试方法
- nginx的rewrite中last和break 及 permanent和redirect的介绍
- SCU软件设计与体系结构第三次测试试卷