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) |