为什么明明有结果集但是mysql_num_rows(result)总是为0??? 10C

bool MyDB::exeSQL(string sql)

{

// mysql_query()执行成功返回0,失败返回非0值。与PHP中不一样

if(mysql_query(connection, sql.c_str()))

{

cout << "Query Error:" << mysql_error(connection);

exit(1);

}

else

{

result = mysql_use_result(connection); // 获取结果集

// mysql_field_count()返回connection查询的列数
cout << mysql_num_rows(result) << endl;
cout << mysql_num_fields(result) << endl;
for(int i=0; i < 3; ++i)

{

        // 获取下一行  
        row = mysql_fetch_row(result);  
        if(row <= 0)  
        {  
            break;  
        }  
        // mysql_num_fields()返回结果集中的字段数  
        for(int j=0; j < mysql_num_fields(result); ++j)  
        {  
            cout << row[j] << " ";  
        }  
        cout << endl;  
    }  
    // 释放结果集的内存  
    mysql_free_result(result);  
}  
return true;  

}

图片说明

图片说明

0

2个回答

mysql_num_rows()的返回值为my_ulonglong类型,在某些系统上打印可能不成功,尝试用下面的写法打印:

cout << (unsigned long)mysql_num_rows(result) << endl;

0

$mysql_server_name='localhost';
$mysql_username='root';
$mysql_password='123456';
$mysql_database='myphp';

$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
mysql_select_db($mysql_database,$conn);
//echo $username2;
$sql="select * from register where username='$username2'";
$result=mysql_query($sql) or die ("sql error");
$row=mysql_num_rows($result);
if($row>0){
echo ("yes");
}
else{
echo ("no");
}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
应用mysql_num_rows()函数获取查询结果集中的记录数
应用mysql_num_rows()函数获取查询结果集中的记录数 请输入图书名称   编号 图
为什么Navicat里面SQL有结果,但是ResultSet.next()为空
今天记录一个超级有鬼的事情: Navicat里面SQL有结果,但是ResultSet.next()为空 首先来分析一下 (1)在Navicat里面测试SQL有结果,就说明 本身SQL是没有什么问题的,这点是可以肯定自己的。 (2)程序正确执行,PreparedStatement,Connection这些都没有问题,不然就会被catch捕获了。 (3)debug带入之后,发现是ResultSet.n...
mysql_num_rows($result)总是等于0,为什么?急急
0)rn$_SESSION['name']=$name;rn$_SESSION['logged']=1;rnheader('Refresh: 5; URL='.$redirect);rnecho ' '.$name.'你将进入你自己的主页!';rnecho ' click here';rnrnelsern $error=' 不合法的用户名'.rn '密码! 请 点击'.'注册 如果你还没有注册';rn rn mysql_free_result($result);rn rn ?>rn rn rn loginrn rn rn rn rn rn rn 姓名:rn rn rn 密码:rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn
Sql语句没错,得到的ResultSet里面的内容却总是空的,即ResultSet.next=false
关于ResultSet.next()这里需要注意的是: 1. 开始指针位置位于第一行之前,也就是说,第一次调用next()方法后才能开始获取数据。这种做法的好处在于可以方便地配合while进行遍历,而不用担心取不到第一行。 2. 指针移动到最后一行之后返回false,可以用作循环结束的条件。在两种情况下:遍历到最后一行之后,或者当 ResultSet 中没有元素行数为0时,返回false退出循...
提示内存不足,但内存明明很多
这几天电脑装了IDEA,运行几分钟就提示我内存不足,后来在网上查询了一些资料,解决过程在此记录下 1.电脑属性==》高级系统设置==》高级==》选择性能,点击设置 2.选择高级==》虚拟内存栏位点击更改 3.选择C盘,选择无分页文件,点击设置 4.然后选中剩余空间较大的盘,按图填写,即可 ...
如何判断ResultSet返回的结果集数据为空
  rsOld = stmt.executeQuery(&quot;select * from randnumber&quot;); if(rsOld.next()){ System.out.println(&quot;rsOld.next() is true&quot;); }else{ System.out.println(&quot;rsOld.next() is false&quot;); }  
链接数据库明明有值,但是取到的是空
1.查询的结果列表stVs本身为空列表,可能原因:sql查询语句错误或者参数过滤问题,验证方法,将sql复制到数据库中执行下 2.列表stVs列表不空,但是个别对象对应的列值为空 3.查询出的字段名和你set中的字段名不一致 情况比较多,也可能是set和get中本身没有为列赋值或者输出,仔细检查下,一般都比较好定位 ...
为什么在mysql_query()返回成功后,mysql_store_result()有时返回NULL?
有可能在一个对mysql_query()成功的调用后,mysql_store_result()返回NULL。当这发生时,它意味着出现了下列条件之一: 有一个malloc()失败(例如,如果结果集合太大)。 数据不能被读取(发生在连接上的一个错误)。 查询没有返回数据(例如,它是一个INSERT、UPDATE或DELETE)。 你总是可以通过调用mysql_field_c
CString 中明明有值,但GetLength为何返回0, IsEmpty 为何是TRUE?
好久没有写。。TMD碰到大坑,实在忍不住吐槽前任。 碰到了白痴写的代码如下: CString strGet,strKey; strGet.Empty(); strKey = _T("Mode"); GetPrivateProfileString(_T("COMM"),strKey,_T("default"),strGet.GetBuffer(512),512,...
数据库查询不到结果集
用servlet查找数据库的一条记录,但是总是查找到为null,竟然花了我将近一个小时的时间,程序员就是总给自己挖坑 这次原因查找到rs没有执行while(rs.next())!!!然后总是不能给student赋值 数据库连接一定要好好记住!! Student student = new Student(); PreparedStatement ps = null; Result
聚合函数 结果集为空 记录为1
今天使用AVG进行求平均值 ,查询结果全是null 但是count 总是1 。 原因是 count(*) 统计数据为null的记录,第二 avg等聚合函数在为空的时候也会返回一条记录集。 如下sql语句: SELECT COUNT(*) FROM (SELECT id,catalog,AVG(IFNULL(sourceFlag,0)) num FROM base_news WHERE i...
DEBUG:javascript保持div的滚动条始终在最下面,解决scrollTop始终为0的问题
1.前言            我想让摸一个div的滚动条始终在最下面,有一个方法是div.scrollTop = div.scrollHeight;经过测试不好使,scrollTop属性始终为0 2.参考了一些的网址之后,我发现有一个方法很好使,代码如下:      function onGetMessage(context) { console.log("context is " +
Scrapy: 为什么xpath和css明明是对的,但却爬不到任何内容?
有很多小伙伴入门Scrapy的时候都会有这样的疑问:明明写的xpath和css是对的(就算真自己写错,那用谷歌或火狐返回的xpath和css不会错的吧),但总是返回一个空列表。 解决办法很简单,改变自己的一个观念就好:Scrapy爬虫看到的页面结构与我们自己在浏览器看到的可能并不一样。 所以scrapy shell这种工具就非常有用了,Scrapy官方文档对它的说明是: The...
Mbatis返回结果集size为1,但list.get(0) 空指针异常
原因是因为sql中用到了聚合函数 返回了一个为null的结果
jdbc连接mysql数据库执行sql语句ResultSet结果集一直为空
问题描述:ResultSet rs=sqlstatement.executeQuery(sql); 执行后查询语句后rs一直为空,但是将sql语句放到数据库中进行查询却能得到结果. 解决:sql=“select * from table where name=‘张三’”;当查询语句中涉及中文的时候就会出现上述问题,主要是编码问题,数据库的编码为utf-8,,但是jdbc的url的地址却没有指定编
Bug:数据库的有数据,但是查出来是0
场景: 公司的业务很多方面不成熟导致的数据库设计的时候字段类型有些不统一,导致以下bug的产生 如图数据库的查询结果如下: 但是我查出来的数据总是0.然后就悲剧了,跟代码发现就是很奇怪的现象:把mybatis中sql在sql server中执行是可以的,但是返回的resultmap中的相应字段是0. 查了半天发现,是类型不对应: 数据库中是decimal类型,在java程序中
项目常见错误及解决方法-console.log打印数组,数组有元素但长度为0
在项目中,使用restangular,在成功回调函数中,给数组复制,同时,返回给一个数组变量,在函数后面,打印出现: 数组为空,但是点开又有数据,最终找到原因: 因为开始空数组没赋值,赋值之后,因为是地址引用,那个数组已经被修改了。显示零是原来的长度。但包含修改后的结果。换句话说,就是由于restangular异步请求数据,在执行restangular时(由于异步,此时,开始回调函数还
解决了明明网速很快,却经常一些网页打不开的问题
# 以及 去掉勾选,就i可以愉快的上网了
ResultSet rs结果集是否为空判断
    ResultSet指针初始时是指向第一条记录的前面,当使用rs.next()时,指针正好指向第一条记录,因此当判断数据库里面是否有值时  用if(rs.next()){    ........}    另外rs.first()使指针指向第一条记录          rs.last()指向最后一条记录         ...
ResultSet结果集为空判断
对ResultSet结果集进行为空判断,一不留神有可能给自己留了个坑,当用if(rs.next())判断是否为空之后,会发现数据怎么少了一行,此时我们需要将指针由第二条指回第一条去。
移动硬盘明明有空间显示内存不足,删除部分空间后仍显示不足的问题解决
问题:        相信每一个做深度学习或者大数据的同学都会备一块移动硬盘来装数据资料等。有时候一次性拷贝几十G的资料,没提前留意磁盘剩余空间大小,然后磁盘会提示空间不足。这时大家的第一反应就是删掉磁盘里原有的东西,留出空间给新的资料。结果发现,已经删了10多G的东西,且无论你怎么删除,磁盘还是显示空间不足。        打开我的电脑一看,我的数据放在了   数据集盘(K:),可悲的只剩下...
HTML+CSS布局时,明明宽度足够为何会换行
&amp;lt;div class=&quot;card-con&quot;&amp;gt; &amp;lt;div class=&quot;card-shop-item&quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;div class=&quot;card-shop-item&quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;div class=&quot;card-shop-item&quot;&amp;gt;&amp;lt;
resultset结果集转化为json源码
下载包链接:http://download.csdn.net/detail/ruthywei/9876958 需要导入的包为 mysql-connector-java-5.1.7-bin.jar             //JDBC包用于连接数据库 用于resultset结果集转化为json数据格式的包 其中,json-lib-2.4-jdk15.jar  用于导入net.
IDEA里面的maven项目依赖总是报红线,本地仓库明明有还总是去下载,而且还下载不到报unknown?
注意你的版本号 比如阿里大于这个jar包 我的项目写错了加了SNAPSHOT,就死都下载不到,我自己手动下载之后放到那个文件夹里面也没有用 忽然灵光一闪会不会是我坐标引入问题,我真的想抽自己耳光,耽误了那么久时间,一定不能粗心大意啊朋友们!!! ...
有括号的简单表达式
明明是按照老师的参考答案写的,可是为什么总是不对那?
mysql储存过程遇到的坑(while 循环中,select count(*) 总是返回0的解决方案 )
正常情况下这样的语句是正确的  但是如果在while循环中或者其他地方,一直返回的结果是0,解决办法为:动态拼接sql,
【解决过程】Mybatis执行select count(*)返回结果为0,但是数据库表中有数据
目的: 记录一下开发过程中遇到的一个灵异问题(Mybatis执行select count(*)返回结果为0,但是数据库表中有数据),以及解决过程; - 问题阐述: Oracle数据库下,通过MyBatis执行下面这行sql: select count(*) from tm_user where empid = #{empID} service里接收到...
Java之判断ResultSet结果集是否为空
Java之判断ResultSet结果集是否为空
mysqli 连接数据库和查询 php使用mysqli_result类处理结果集有以下几种方法
1.概念       在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程3、在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库2.优势:   ...
python中 文件明明存在,但是os.path.exists 返回False
文件明明存在,但是用os.path.exists() 返回False,通过试验发现,路径或者文件名中还有中文就会返回fasle,所以文件夹的名称或者文件名最好不要含有中文 试验代码如下,这四个文件都是存在的 print &quot;E:/ruanjian/2222.txt存在吗?%s&quot; % os.path.exists(&quot;E:/ruanjian/2222.txt&quot;) print &quot;E:/学习资料/22...
明明引用了,却还提示说没有引用DLL
问题:明明引用了,却还提示说没有引用DLL 答:把DLL的framwork版本和程序版本弄成一样的就行了
jdbc中结果集为什么需要.next()
学习了jdbc之后一直好奇下面的代码 ResultSet rs = stmt.executeQuery(); while(rs.next()){ ...... } 为什么需要rs.next()? 经过查阅资料得到结果 相信大家更希望看到中文描述,我经过翻译得到以下: 将光标从当前位置向下移动一行。结果集光标最初位于第一行之前;对方法的第一次调用接着使第一行成为当前行;第二次调用使第二行成为当前...
明明包中已经有了这个类,但是就是一直提示无法加载到
最近测试word,图片转换为pdf,但是在运行的时候,一直报找不到jacob下面的类. 将jacob.jar直接放入了jre/lib/ext目录下面了,才可以.. 不知道是不是打包的问题还是哪里的问题(jar包中又有jar包).
类明明存在,还是报java.lang.ClassNotFoundException的错误
类包明明存在,tomcat运行还是报java.lang.ClassNotFoundException的错误问题   解决方法: 我遇到这个问题是在myeclipse中使用tomcat部署web(maven)项目,http://www.yayihouse.com/yayishuwu/chapter/1460...
CSS中父div与子div——子div有内容,父div高度却为0?
我们可能在审查网页元素时,会发现这样的一种情况: 案例 HTMLAndCSS.html HTML与CSS简单页面效果实例 --> 从上面的代码来看,包含一个父div和两个子div。而子div又有高度,但是审查元素时,却发现该父div却没有高度(所以此时父div的背景色#c
关于setResult在ActivityA中收到的resultcode值为0的问题
问题:收到的resultcode为0,但是在setResult()方法中设置的值为2。解决方案:保证两点1、setresult时如果intent不携带数据,也就是data是null,这时候使用setresult(resultcode)而不是setresult(resultcode,intent)。2、setresult()要在finish()方法之前调用。原因猜想:是onactivityresul...
Android 调用checkSelfPermission,不管用户是否取消授权,checkSelfPermission的返回值始终为PERMISSION_GRANTED的解决办法
Android M运行targetSdkVersion If your application is targeting an API level before 23 (Android M) then both:ContextCompat#checkSelfPermission and Context#checkSelfPermission doesn't work
Mybatis selectOne方法执行sql有数据返回为null
问题描述: 初学mybatis,在简单查询的时候,执行mybatis的selectOne(String,Object)方法,数据库查询有一条数据,但是mybatis实际返回的结果却是null,对于这种情况可能有多个原因,我遇到的情况可能比较普遍,记录一下以提供初学的同学参考 具体的代码和配置文件实体类public class Person { private int pp_id; p
postgresql表中明明有这个字段却报错不存在该字段
如果你实在一筹莫展了,把字段名改成全小写试试
[MyBatis]-resultMap结果映射集详解
resultMap结果映射集详解 resultmap是mybatis中最复杂的元素之一,它描述如何从结果集中加载对象,主要作用是定义映射规则、级联的更新、定制类型转化器。 resultmap构成元素 元素 子元素 作用 constructor idArg 、arg 用于配置构造器方法 id 将结果集标记为id,以方便全局调