如果未定义Perl,则提供DBI查询结果的预期结果
我正在创建一个大型脚本,执行一系列检查,以执行一些后端自动化并同步某些数据库 作为查询的一部分,我只想通过使用如果未定义Perl,则提供DBI查询结果的预期结果,perl,Perl,我正在创建一个大型脚本,执行一系列检查,以执行一些后端自动化并同步某些数据库 作为查询的一部分,我只想通过使用if(未定义(… 当我向存在的查询添加名称时,我没有收到预期的消息empty result,并且执行了else语句。为了验证此操作是否有效,我使用if(未定义)(withif(定义了,它打印了相关消息并跳过了else语句。这是我所期望的 但问题是。如果我对数据库中不存在的名称运行查询,它不会打印消息空结果。我遗漏了什么,或者我误解了的函数If(defined/(not defined?您
if(未定义(…
当我向存在的查询添加名称时,我没有收到预期的消息empty result
,并且执行了else
语句。为了验证此操作是否有效,我使用if(未定义)(
withif(定义了
,它打印了相关消息并跳过了else
语句。这是我所期望的
但问题是。如果我对数据库中不存在的名称运行查询,它不会打印消息
空结果
。我遗漏了什么,或者我误解了的函数If(defined/(not defined
?您无法循环找到的结果。请尝试类似的方法
my $found = 0;
while ( my ( $name ) = $sth->fetchrow ) {
$found = 1;
# do stuff when name is found
}
if ( not $found ) {
print "empty result\n";
}
您打印出$sth->fetchrow()的返回值了吗?如果是,结果是什么?@Jens通过执行
print$sth
?通过执行print$sth->fetchrow()
@Jens它什么也不打印。如果它什么也不打印,则表示它已定义,但为空
my $found = 0;
while ( my ( $name ) = $sth->fetchrow ) {
$found = 1;
# do stuff when name is found
}
if ( not $found ) {
print "empty result\n";
}