麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
phplib在mysql查询输出中的弊端
悬赏分:20 - 2007年08月21日

mysql中有数据表:members和member_xinxi
members表如下:
id username password qq
1 张三 123456 250707773
2 李四 654321 456238955
3 赵强 456789 99090083

member_xinxi表如下:
id username email
1 李四 yutirui@dfdf.com
2 赵强 479iuid@opop.com
3 张三 fdsfds@dfdf.com

现在我知道一个QQ号码为:$qq="250707773"(假定数据库中每个用户的QQ号码是唯一的)
我想从数据库中查询并列出该QQ号的用户的username,email信息
语句如下(采用phplib中mysql数据库库函数):
===================================
$cxlove->$query("select * from members where qq='$qq'");
if(!$cxlove->num_rows())exit; //没找到记录
$cxlove->next_record(); //----------------------------------------------------------------------------------注意:语句A

$user_info="QQ号为".$qq."的用户的姓名是:".$cxlove->Record["username"]; //---------------注意:语句B

$cxlove->$query("select * from member_xinxi where username='$username");
if(!$cxlove->num_rows())exit; //没找到记录
$cxlove->next_record(); //------------------------------------------------------------------------------------注意:语句C

$user_info.=",他的email是: ".$cxlove->Record["email"]; //---------------------------------------------注意:语句D
$user_info.=",他的密码是:".$cxlove->Record["password"]; //-----------------------------------------注意:语句E

===============================================

上面输出的结果是:QQ号为250707773的用户的姓名是:张三,他的email是:fdsfds@dfdf.com,他的密码是:(空)
在以上大家可以看到,该用户密码的值丢失,原因何在???
phplib中,是用函数“$cxlove->next_record()”来移动指针读取每条数据,而且该函数没有返回植,
即是说,如果两次或者以上调用该函数,后面读取的数据将覆盖前次读取的数据,这样前次读取的数据就会造成丢失。这样一来,就无法实现像以上形式的数据库查询和显示了。

难道每次一次数据库查询时
必须将其结果的需要字段的值全部取出后
才又执行下一次查询
再将所有需要字段全部取出

如果在执行了下一次查询后,就无法取出前一次查询的结果
因为后一个”$cxlove->next_record();“已经将前一次覆盖。

提问者:cxlove   08-21 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
50 + 31 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM