免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1732 | 回复: 2
打印 上一主题 下一主题

求教:循环中控制条件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-01 10:38 |只看该作者 |倒序浏览
要求:
表s_service中字段:name,tbl_name,flag
其中字段tbl_name是表的名称
库中tbl_name有多个表如:a,b,c.. 他们的结构是一样的
从a,b,c中找出其中是否有字段dest= 121,如果有就记录这个表的名字name

我是这样写的:
my @record;
$query = "SELECT name,tbl_name,flag FROM s_service";
$result = $db->;query($query);
while(%rows = $result->;fetchhash)
{
$id = $rows{id};       
$name = $rows{name};
$tbl_name = $rows{tbl_name};
$flag = $rows{flag};
$query1 = "SELECT * FROM  $tbl_name where dest =$dest";
$result1 = $db->;query($query1);       
if ($result1->;numrows != 0)
{
my $record = $flag."-".$name."\n";
push (@record,$record);
}                               
}

可是,程序进入了死循环,为什么?
谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-08-01 13:15 |只看该作者

求教:循环中控制条件

不知道你從那兒查到的$db->;query與$db->;fetchhash...??
我查Programming the Perl DBI這本書沒看到說..
給你一個簡單的例子..
$db= DBI->;connect(xxx)|| die "Can't connect to DB";
$sth = $db->;prepare(qq{ Select... }) || die "Can't prepare $DBI::errstr";
$sth->;exeute() || die "Can't execute $DBI::errstr";
while($a = $sth->;fetchrow_hashref()){
  $a->;{name} ===>;name
  $a->;{flag} ===>;flag
}

通常我都用
while(@aa = $sth->;fetchrow_array){
  $a[0] ==>; name
  $a[1] ==>; tbl_name
  $a[2] ==>; flag
}

試試看吧...

论坛徽章:
0
3 [报告]
发表于 2003-08-05 10:25 |只看该作者

求教:循环中控制条件

确实是这个问题,谢谢!

原帖由 "apile" 发表:
; flag
}

試試看吧...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP