下面是我使用的腳本的Perl代碼要在運行crontab什麼是解決這個錯誤對一個未定義的值不能調用方法「fetchrow_array」正道
if($enable_family_members==0)
{
my $sql="select name from test where testid IN (". join(',', @set) . ')';
my $sth = $dbh->prepare($sql);
$sth->execute or die "SQL Error: $DBI::errstr\n";
}
while (my ($name)=$sth->fetchrow_array())
{
print "name: $name";
}
當我嘗試運行這個腳本我得到一個錯誤Can't call method "fetchrow_array" on an undefined value at line 9
。當我嘗試使用our
關鍵字而不是my
關鍵字在$ sth中,我不會收到錯誤。什麼是解決這個錯誤的正確方法。
我的答案是關於捕捉'準備'現在刪除錯誤,我錯過了大概正確的變量範圍答案。 –
如果您使用'strict strict',則不會出現此問題。此外,你不應該直接插入變量到你的查詢字符串中,你應該使用佔位符。 – TLP