很郁闷,一个简单的Select语句~~~

sxldfang 2013-05-01 11:17:26

下面的语句总是得不到一条记录

$rs=$db->query("select id,pid,bt,isparent from b where bh='$bh' order by sn asc");

但去掉排序,就可以:

$rs=$db->query("select id,pid,bt,isparent from b where bh='$bh'");


是语法错误吗?该怎么写啊?谢谢啦~~~
...全文
156 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxldfang 2013-05-06
  • 打赏
  • 举报
回复
select的问题好像还在困扰着我,先结贴,等会再开新帖~~~
ACMAIN_CHM 2013-05-06
  • 打赏
  • 举报
回复
引用 6 楼 sxldfang 的回复:
最后把 bt varchar(256) 改为 bt varchar(100) 可以了 请问256是256个字节还是256个字符啊?对于utf8,一个汉字“字符”可能是3个“字节”啊?
256个字符
yo_yo1120 2013-05-06
  • 打赏
  • 举报
回复
引用 7 楼 u010581018 的回复:
varchar(256)是256个字节吧...
不对,gbk字符集下就是256个字符...
yo_yo1120 2013-05-06
  • 打赏
  • 举报
回复
varchar(256)是256个字节吧...
sxldfang 2013-05-04
  • 打赏
  • 举报
回复
最后把 bt varchar(256) 改为 bt varchar(100) 可以了 请问256是256个字节还是256个字符啊?对于utf8,一个汉字“字符”可能是3个“字节”啊?
sxldfang 2013-05-02
  • 打赏
  • 举报
回复
注意带排序的结果 是 Empty set,为什么?

mysql> describe b;
+----------+------------------+------+-----+---------+-------+
| Field    | Type             | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+-------+
| bh       | varchar(2)       | NO   | PRI | NULL    |       |
| id       | int(10) unsigned | NO   | PRI | NULL    |       |
| pid      | int(10) unsigned | NO   |     | NULL    |       |
| sn       | int(10) unsigned | NO   |     | 0       |       |
| bm       | varchar(10)      | NO   |     | NULL    |       |
| ji       | tinyint(1)       | NO   |     | 0       |       |
| bt       | varchar(256)     | NO   |     | NULL    |       |
| you      | text             | NO   |     | NULL    |       |
| hege     | text             | NO   |     | NULL    |       |
| banfa    | text             | NO   |     | NULL    |       |
| fz       | decimal(5,2)     | NO   |     | NULL    |       |
| isparent | tinyint(1)       | NO   |     | 0       |       |
+----------+------------------+------+-----+---------+-------+
12 rows in set (0.00 sec)

mysql> select id,pid,bt,isparent,sn from b where bh='33' ;
+----+-----+-------+----------+----+
| id | pid | bt    | isparent | sn |
+----+-----+-------+----------+----+
|  1 |   0 | 增加1     |        1 |  0 |
|  2 |   1 | 增加2     |        0 |  1 |
|  3 |   1 | 增加3     |        0 |  2 |
+----+-----+-------+----------+----+
3 rows in set (0.00 sec)

mysql> select id,pid,bt,isparent,sn from b where bh='33' order by sn;
Empty set (0.00 sec)

mysql>_
WWWWA 2013-05-02
  • 打赏
  • 举报
回复
表什么引擎?
WWWWA 2013-05-02
  • 打赏
  • 举报
回复
表什么,重新建立SN上的索引试试,OR 修复一下此表试试
ACMAIN_CHM 2013-05-02
  • 打赏
  • 举报
回复
有时会是索引错误导致的。 重新 repair table b。
sxldfang 2013-05-01
  • 打赏
  • 举报
回复
补充: 当$bh='01'时却可以查询到上百条数据,但当$bh='77'时却查询不到数据,其实有两条数据的啊!

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧