返回信息流☆─────────────────────────────────────☆
rzsp8552 (spooky) 于 (Tue Sep 16 23:54:58 2008) 提到:
<?php
function test(){
$coupon_result = mysql_query("select merchant,discount,url,srcsite from coupon");
$result = mysql_query("select id,name,address,discount,intro,url,price,phone,comment,srcsite,menu,coupon,class from cate_dining $where");
while($row = mysql_fetch_array($result)){
$y=1;
while($coupon_row = mysql_fetch_array($coupon_result)){
$y=2;
}
}
}
?>
请问下上面这段代码出现赋值不成功的问题。问题描述如下:
1、当$y=1这行注释掉的时候能够正常执行$y=2这个代码;
2、当$y=1这行存在时,$y=2不起作用。
3、当代码变成下面的时,也可以真正确执行---既把第二个while循环的条件改成变量值。
<?php
function test(){
$coupon_result = mysql_query("select merchant,discount,url,srcsite from coupon");
$result = mysql_query("select id,name,address,discount,intro,url,price,phone,comment,srcsite,menu,coupon,class from cate_dining $where");
while($row = mysql_fetch_array($result)){
$y=1;
$loop=1;
while($loop){
$y=2;
$loop=0;
}
}
}
?>
考虑过数据库的可能返回空值的问题,但是经过测试“注释掉$y=1这行,并添加变量计算返回的$coupon_result个数,得出的结果是正确的”
问题好奇怪,大牛们帮帮忙啊!先谢谢了
☆─────────────────────────────────────☆
xw2423 (静水之人) 于 (Wed Sep 17 00:17:34 2008) 提到:
你的第一段代码相当于
<?php
function test(){
$coupon_result = mysql_query("select merchant,discount,url,srcsite from
coupon");
$result = mysql_query("select id,name,address,discount,intro,url,price,phone,comment,srcsite,menu,coupon,class from cate_dining $where");
$loop=1;
while($row = mysql_fetch_array($result)){
$y=1;
while($loop){
$y=2;
$loop=0;
}
}
}
?>
当然了,$result需要有两条以上的记录
PS:当mysql_fetch_array($res)返回false时,再次调用mysql_fetch_array($res)也返回false
【 在 rzsp8552 (spooky) 的大作中提到: 】
: <?php
: function test(){
: $coupon_result = mysql_query("select merchant,discount,url,srcsite from coupon");
: ...................
☆─────────────────────────────────────☆
rzsp8552 (spooky) 于 (Wed Sep 17 20:20:34 2008) 提到:
那应该是重复调用while($coupon_row = mysql_fetch_array($coupon_result)这个语句的问题?是不是调用一次之后指针就指向末尾了,要是想重复多个while需要怎么把指针指回第一个元素呢
☆─────────────────────────────────────☆
xw2423 (静水之人) 于 (Wed Sep 17 21:57:18 2008) 提到:
mysql_data_seek($res,0);
【 在 rzsp8552 (spooky) 的大作中提到: 】
: 那应该是重复调用while($coupon_row = mysql_fetch_array($coupon_result)这个语句的问题?是不是调用一次之后指针就指向末尾了,要是想重复多个while需要怎么把指针指回第一个元素呢
这是一条镜像帖。来源:北邮人论坛 / www-technology / #5493同步于 2008/12/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
[合集] 关于函数内部的变量作用域的问题!!!急
tntzwz
2008/12/21镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。