Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279179
  • 博文数量: 30
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-03 12:59
文章分类

全部博文(30)

文章存档

2010年(14)

2009年(8)

2008年(8)

我的朋友

分类:

2009-03-26 17:00:27

CU竟然限制标题的名字这么短,连个错误都贴不全。完整错误信息是:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
这说明你的SQL语句写的是有问题的,导致mysql_query返回了一个错误的结果标识符。这时候我们的做法通常是把那个SQL语句打印出来,然后放到phpmyadmin或者mysql_query_broswer中测一下,但那天我遇到了一个奇怪的问题。
我把SQL语句打印出来,复制到phpmyadmin下,结果出来了正确的结果。那为什么会报这个错呢?

最后查出来的结论是我的SQL语句FROM后面只写了table的名字,没写database的名字,加上之后就好了。(我的系统要访问好几个数据库)
如果你出现了这个问题,不防试一下,比如:

select * from book where bookID = 145


改成:

select * from lib.book where bookID = 145


还有一种情况需要注意,就是你的表名或者列表是不是出现了MYSQL的关键字?比如:


select * from order where orderID = 145


我想从order数据表里取一些东西,但order是关键字,所以这个SQL语句会报错。可以在关键字两边加上`符号(主键盘区1左边的那个键),就不会报错了。


select * from `oeder` where orderID = 145

阅读(3340) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-11 14:30:07

请问最终原因到底是什么呢?

xueer87102009-06-01 15:45:57

这位大虾,如果看到留言请尽快回复我吧,很紧急的,要出人命的。。。谢谢啦。。。 或者加我QQ也行,494236458(不过在身份验证里得写上“大虾”两个字),万分感谢啦。。。

xueer87102009-06-01 15:23:12

帮帮忙吧。。。

xueer87102009-06-01 15:22:40

加上数据库名了, 怎么还是不行啊