![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
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();“已经将前一次覆盖。

