Arrays Perl参数";“用户”;isn';数组元素中的t数字
我总是得到这样的信息,数组中的参数不是nummeric。 在这个小代码中发生了5次:Arrays Perl参数";“用户”;isn';数组元素中的t数字,arrays,perl,arguments,warnings,numeric,Arrays,Perl,Arguments,Warnings,Numeric,我总是得到这样的信息,数组中的参数不是nummeric。 在这个小代码中发生了5次: my $mcnamequery = "SELECT mcID FROM tblMCName WHERE mcName = '".$mcname."'"; $mcid = dbSelect($mcnamequery); print $mcid->{mcID} . "\n"; my $userfsquery = "SELECT userFS FROM tblMcSubs WHERE mcFS = '
my $mcnamequery = "SELECT mcID FROM tblMCName WHERE mcName = '".$mcname."'";
$mcid = dbSelect($mcnamequery);
print $mcid->{mcID} . "\n";
my $userfsquery = "SELECT userFS FROM tblMcSubs WHERE mcFS = '".$mcid->{mcID}."'";
my $execute = $dbh->prepare($userfsquery);
$execute->execute();
while (@usersfs = $execute->fetchrow_array()) {
print $usersfs['userFS'] . "\n";
my $mailquery = "SELECT useremail FROM tblUser WHERE userID = '".$usersfs['userFS']."'";
$execute2 = $dbh->prepare($mailquery);
$execute2->execute();
while (@mails = $execute2->fetchrow_array()) {
$counter++;
print $mails['useremail']. "\n";
if($counter == 1){
$addresses = $mails['useremail'];
}else{
$addresses = $addresses. " " . $mails['useremail'];
}
}
}
第一次出现在这一行:print$usersfs['userFS']。“\n”代码>
之后,我会在任何我想使用$usersfs['userFS']
或$mails['useremail']
错误消息:
参数“userFS”在/tem/obm/morningcheck/jantool.pl第520行的数组元素中不是数字。
参数“userFS”在/tem/obm/morningcheck/jantool.pl第522行的数组元素中不是数字。
参数“useremail”在/tem/obm/morningcheck/jantool.pl第527行的数组元素中不是数字。
参数“useremail”在/tem/obm/morningcheck/jantool.pl第529行的数组元素中不是数字。
参数“useremail”在/tem/obm/morningcheck/jantool.pl第531行的数组元素中不是数字
希望你能帮助我,谢谢
print $mails['useremail']. "\n";
这是你的问题<代码>[]
表示数组索引,指向名为@mails
的数组。因此字符串arg永远无效
也许你的意思是:
print $mails{'useremail'}."\n";
这是名为%mails
的散列的关键参数
但是当您获取一个名为@mails
的数组时。。。你要么要弄清楚索引,要么做一些键值关联
如果两个查询都获取一个列,则您只需访问:
$mails[0]
及
在Perl中,数组使用数字索引<代码>'userFS'不是数字,因此出现错误 如果要使用哈希表(也称为关联数组),则必须在键周围使用花括号:
my %usersfs;
$usersfs{userFS} = "whatever";
我知道
fetchrow\u array
,fetchrow\u arrayref
和fetchrow\u hashref
但不知道fetchrow
。它做什么?也许?请不要链接到tiztag教程。太可怕了。好吧,但我想从数据库中获取userFS。我怎么知道,我必须插入什么数字?因为您只从数据库中获取一列,结果应该存储在第一个元素中,即$usersfs[0]
。
my %usersfs;
$usersfs{userFS} = "whatever";