很郁闷,一个简单的Select语句~~~ 下面的语句总是得不到一条记录$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'");是语法错误吗?该怎么写啊?谢谢啦~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充:当$bh='01'时却可以查询到上百条数据,但当$bh='77'时却查询不到数据,其实有两条数据的啊! 注意带排序的结果 是 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>_ 有时会是索引错误导致的。 重新 repair table b。 表什么,重新建立SN上的索引试试,OR 修复一下此表试试 最后把bt varchar(256)改为bt varchar(100)可以了请问256是256个字节还是256个字符啊?对于utf8,一个汉字“字符”可能是3个“字节”啊? 不对,gbk字符集下就是256个字符... select的问题好像还在困扰着我,先结贴,等会再开新帖~~~ 求教使用GUI或程序无法连接Mysql MYSQL的查询结果可不可以按最近修改排序 没分,但希望进来看看,谢谢. 修改了mysql的字段名称,那么这个字段的内容就没有了吗? 一道SQL题 请教sql语句 SQL批处理运行错误,知道的帮忙下! 笔试两次都栽在sql语句的题上了,崩溃了,求助! 100分跪求如何mysql全文索引查询所用关键词最小长度限制 请问游标定义之前能不能做其它删除、插入操作?二级游标能不能动态定义? 关于SQL语句和存储过程 MySQL ODBC 64位驱动 bug??
+----------+------------------+------+-----+---------+-------+
| 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>_
bt varchar(256)改为
bt varchar(100)
可以了请问256是256个字节还是256个字符啊?对于utf8,一个汉字“字符”可能是3个“字节”啊?