为什么在mysql_query()返回成功后,mysql_store_result()有时会返回NULL

mysqli query 参数MYSQLI_STORE_RESULT 和 MYSQLI_USE_RESULT 之区别与应用场景 mysqli MYSQLI_STORE_RESULT MYSQLI_STORE_RESULT 阅读详情

成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一:

·         出现了malloc()故障(例如,如果结果集过大)。

·         无法读取数据(在连接上出现了错误)。

·         查询未返回数据(例如,它是INSERT、UPDATE或DELETE)。

通过调用mysql_field_count(),始终能检查语句是否应生成非空结果。如果mysql_field_count()返回0,结果为空,而且上一个查询是未返回值的语句(例如INSERT或DELETE)。如果mysql_field_count()返回非0值,语句应生成非空结果。关于这方面的示例,请参见mysql_field_count()函数介绍。

通过调用mysql_error()或mysql_errno(),可测试是否出现了错误。



摘录自http://www.iteedu.com/database/mysql/mysqlmanualcn/apis/null-mysql-store-result.php

前一个项目碰到过类似的问题,在某些机器上查询时,总是返回空集,还没有处理, 初步想法是添加重试机制,判断影响行数与实陆返回不一致, 再重新调用查询操作

mysql_store_result的概念和使用案例 阅读详情

相关推荐

mysql_store_result深度解析:MySQL结果集的“集装箱搬运“

MySQL C API中的mysql_store_result函数一次性将查询结果集从服务器取回并存储在客户端内存中,适合处理中小型结果集。其核心特点包括:通过内存换取查询便利性,支持随机访问结果数据;必须手动调用mysql_free_result释放内存;返回NULL可能表示无结果集而非错误。使用时需注意与mysql_use_result的区别,正确处理内存管理和错误情况,典型应用场景包括离线数据处理、需要多次访问结果集或结果集大小可控的查询。

weixin_42108533的博客 980

mysql的mysql_store_result函数调用问题(C的API)

向mysql查询数据时,不管能否查询到数据mysql_real_query()函数都会返回0,所以通过mysql_real_query()无法得知是否查询成功,我的解决办法是使用mysql_store_result()来判定是否查询到数据。注意:strlen(res->data) < 2 主要是这个判断产生的作用,返回的数据在res->data,但是实际操作的时候,如果没有查询到数据res->data也不为空,判断是否小于2即可。这和是否的得到数据完全无关。有的说返回值是0代表成功,非零失败。......

qq_41937509的博客 3272

永久关闭Windows更新的5种方法

很多家用电脑,如果系统自动更新的话,会变得越来越卡顿,且硬件型号兼容也并不完美。那么我们该如何彻底关闭Win11的自动更新呢?以下准备了5种方法,您可以根据自身实际情况选择合适的方法!

qq_43652793的博客 1万+

【MySQL】——常用接口API即相关函数说明

你必须使用mysql_real_query()而不是mysql_query(),因为二进制代码数据可能包含“\0”字符,而且,mysql_real_query()()将mysql_query()查询的全部结果读取到客户端,分配1个MYSQL_RES结构(上面有介绍),并将结果置于该结构中。读取数据,直至返回NULL,否则未读取的行会在下一次查询时作为结果的一部分返回,故经常我们使用。一旦完成了对结果集的操作,必须调用mysql_free_result()初始化检索,以便于后面一行一行的读取结果集,而它。

sjp11的博客 3222

Word公式一键转MathType保姆级教程(附omml2mml.xsl报错终极解决方案)

本文提供Word公式一键转MathType的保姆级教程,重点解决常见的omml2mml.xsl报错问题。通过详细分析报错原因、官方解决方案实操步骤及转换后格式优化技巧,帮助用户高效完成公式转换,适用于科研论文和商业文档编辑。

weixin_30082367的博客 554

新能源知识库(62)组串式、集中式和高压直挂式

因需多台PCS及独立监控设备,单位功率成本比集中式高15%–20%。高压直挂式因省去变压器,大容量项目成本更低(>5MW时优势显著)。组串式储能、集中式储能和高压直挂式储能是当前主流的三类技术路线,其核心差异源于系统架构和控制逻辑的设计差异。组串式交流侧需变压器升压至10kV/35kV,高压直挂式可直接输出6kV/35kV电压,减少转换损耗。多台小功率PCS并联(每簇独立管理)单台大功率PCS(多簇直流侧并联)环流导致容量衰减(损失5%–8%)无变压器损耗(效率>99%)高压直挂电站(≥10MW)

竹君子之家 1515

mysql store_有关Mysql的mysql_store_result函数返回NULL的情况以及其他注意事项

成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一:· 出现了malloc()故障(例如,如果结果集过大)。· 无法读取数据(在连接上出现了错误)。· 查询未返回数据(例如,它是INSERT、UPDATE或DELETE)。通过调用mysql_field_count(),...

weixin_42419508的博客 2160

LAP-D协议概述

Q.921协议由称为LAPD(链路访问协议-D通道),与HDLC的关系密切,它是在ISDN D通道上使用的数据链路协议。 注:http://www.freesoft.org/CIE/Topics/125.htm LAP-D的帧格式 标志、位填充技术和FCS校验计算与HDLC一致。 16位的地址包括C/R字段、SAPI(服务访问点标识)和TEI(端点标识)。TEI用于区分使用相同ISDN...

系统运维 1914

mysql_query mysql_store_result,为什么在mysql_query()返回成功后,mysql_store_result()有时会返回NULL...

成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一:· 出现了malloc()故障(例如,如果结果集过大)。· 无法读取数据(在连接上出现了错误)。· 查询未返回数据(例如,它是INSERT、UPDATE或DELETE)。通过调用mysql_field_count(),...

weixin_29614223的博客 403

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号-串联端接

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑并且进行串联端接,以下图为例,准备好发送接收端的IBIS模型, (se_example.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(W1_welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 338

MediaPipe 教程:从安装到应用-全网最全

MediaPipe是Google推出的开源框架,专为构建机器学习管道设计,可以高效处理视频、音频等时间序列数据。本文教程从安装到应用逐步讲解: 安装步骤简单,只需通过pip安装mediapipe包并验证版本; 重点演示人体姿态检测功能,可识别33个身体关键点; 提供基础代码实现,包括视频捕获、关键点检测与可视化; 强调模块化开发,将功能封装成类以提高代码复用性。 教程适合初学者,通过清晰指引和实用代码示例,帮助快速实现计算机视觉应用。

FJN110的博客 1563

为什么在mysql_query()返回成功后,mysql_store_result()有时返回NULL?

有可能在一个对mysql_query()成功的调用后,mysql_store_result()返回NULL。当这发生时,它意味着出现了下列条件之一: 有一个malloc()失败(例如,如果结果集合太大)。 数据不能被读取(发生在连接上的一个错误)。 查询没有返回数据(例如,它是一个INSERT、UPDATE或DELETE)。 你总是可以通过调用mysql_field_c

allin_allin的恋爱小屋 6188

duilib 之 事件--bubbled冒泡事件应用、通用点击事件、进入离开事件、XML样式中直接添加事件

1. box 绑定点击事件 ui::Box *pSmallVideoBox = (ui::Box*)FindControl(L"rightBox"); if (pSmallVideoBox) { auto SwitchVideo = [this](ui::EventArgs* param){ m_bSecScreenIsScale = m_bMainScre...

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 972

C语言期末项目数据库函数学习(mysql.h)

函数 mysql_real_query() 函数原型: mysql_real_connect (MYSQL *mysql,const char *host,const char *user, const char *passwd, const char *db, unsigned int port,const char *unix_socket,unsigned long client_flag)...

不知道是谁的博客 745

vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)

vue3接入腾讯人脸核身,腾讯云人脸核身Vue3+后端代码,H5人脸核身,vue3 H5如何使用腾讯人脸核身sdk,vue3+thinkphp腾讯人脸核身,Spring Boot接入腾讯云人脸核身教程,hinkphp腾讯人脸核身,vue3人脸核身插件接入流程,vue+spring boot实现腾讯人脸核身,vue3接入腾讯云【增强版人脸核身接入】,vue3 h5微信公众号网页腾讯云慧眼人脸核身,tvue3接入人脸核身SDK,vue3+typescrip+vite接入慧眼实名认证,vue3腾讯云活体人脸核身(

✅ 精选推荐文章 4119

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

关于mysql_query()的返回值问题

最近在做一个网络通信的小项目,其中用到了一些基本的数据库Mysql的知识。在项目中有一个需求是:判断用户注册时的用户名是否已被注册,针对这个需求,需要用到mysql_query()来执行select语句查询数据库中是否存在当前用户输入的用户名信息 我的思路是这样的: 通过mysql_query()来执行select语句,在数据库中进行查找 根据函数返回值来判断数据库中是否有查询的用户名信息 ...

qq_43365825的博客 7528

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql_query mysql_store_result,MySQL中提取数据的API函数mysql_store_result() 跟 mysql_use_result() 的区别_mysql...

mysql中提取数据的API函数mysql_store_result() 和 mysql_use_result() 的区别函数mysql_store_result()与mysql_use_result()类似,它们都有连接处理程序参数,并返回结果集。但实际上两者间的区别还是很大的。两个函数之间首要的区别在于从服务器上检索结果集的行。当调用时,mysql_store_result()立即检索所有的行...

weixin_28314575的博客 446

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C语言操作MySQL数据库常用函数--mysql_init()、mysql_real_connect()、mysql_query()、mysql_store_result()等

C语言操作MySQL数据库常用函数,包括mysql_init()、mysql_real_connect()、mysql_query()、mysql_store_result()、mysql_fetch_row()、mysql_num_fields()、mysql_free_result()

weixin_44178960的博客 2409

有关Mysql的mysql_store_result函数返回NULL的情况以及其他注意事项

成功调用mysql_query()后,mysql_store_result()能够返回NULL。出现该情况时,表明出现了下述条件之一: ·         出现了malloc()故障(例如,如果结果集过大)。 ·         无法读取数据(在连接上出现了错误)。 ·         查询未返回数据(例如,它是INSERT、UPDATE或DELETE)。 通过调用mysql_field_...

weixin_34267123的博客 739

php mysql_store_result_PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别

这篇文章主要介绍了PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别,本文给出了这两个参数的5个区别,需要的朋友可以参考下虽然nosql变得流行,但是我感觉sql还是主流今天在翻php manul的时候,发现mysqli 的查询可以传递一个有意思的参数@mysqli_query($this->sql,$SQL,($method...

weixin_35128151的博客 297

mysql query 是否为空_C++使用mysql判断select查询结果是否为空mysql_query返回值问题...

C++使用mysql判断select查询结果是否为空/mysql_query返回值问题MYSQL sqlcon;string str = "SELECT * FROM dt_user where user =.........."if (!mysql_query(&(this->sqlcon), str){return true;}mysql_query的返回值,无效sql语句的时候...

weixin_39616287的博客 1681

C语言的MySQL接口详解

介绍一个MySQL 的关于C语言的接口 mysql_character_set_name() const char* mysql_character_set_name(MYSQL* mysql) 为当前连接返回默认的字符集 返回值:默认的字符集 mysql_close() void mysql_close(MYSQL* mysql) 描述:关闭前面打开的连接,如果句柄是由 mysql_ini...

一条二哈 8626

C++使用mysql判断select查询结果是否为空mysql_query返回值问题

C++使用mysql判断select查询结果是否为空/mysql_query返回值问题 MYSQL sqlcon; string str = "SELECT * FROM dt_user where user =.........." if (!mysql_query(&(this->sqlcon), str) { return true; } mysql_query的返回值,无效sql语句的时候会返回false,但如果输入sql语句时有效的,仍然会返回有效的id,换句话说mysq

花狗Fdog的博客 4215

mysql_query mysql_store_result_为什么mysql API查询mysql_real_query后,调用mysql_free_result再调用 mysql_store_re...

C代码:#include#include#include#includeintmain(){MYSQLmysql;//mysqlinitmysql_init(&mysql);//connecttomysqlserver#defineMYSQL_I...C 代码:#include#include#include#includeint main(){MYSQL mysql;//mysql in...

weixin_29001655的博客 246

mysql 5.1.69_MySQL 5.1 英文手册 :: 21.9.3.69 mysql_store_result()

21.9.3.69.mysql_store_result()MYSQL_RES *mysql_store_result(MYSQL *mysql)DescriptionAfter invoking mysql_query() ormysql_real_query(), you mustcall mysql_store_result() ormysql_use_result() for every...

weixin_30151565的博客 257
上一篇: 解决Eclipse调试真机时出现adb refused request: closed
下一篇: mysql_query函数中卡死
study_live
博客等级 码龄19年 20粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值