Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Perl参数";“用户”;isn';数组元素中的t数字_Arrays_Perl_Arguments_Warnings_Numeric - Fatal编程技术网

Arrays Perl参数";“用户”;isn';数组元素中的t数字

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 = '

我总是得到这样的信息,数组中的参数不是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 = '".$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";