0
我有一個perl
DBI
mysql
查詢,看起來像這樣:Perl的DBI哪裏是空與未定義的變量
my $rows = get_rows(
"select id from table where column1=?, column2=? and column3=?",
$var1,$var2,$var3
);
sub get_rows {
my $sql = shift;
my @vars = @_;
my $sth = $dbh->prepare($sql);
$sth->execute(@vars);
my $rows = $sth->fetchall_arrayref();
$sth->finish();
return $rows;
}
我跑這來檢查,如果一個特定的行存在包含這些增值經銷商。但是我遇到的問題是處理NULL值。這些必須被選擇爲IS NULL
而不是=?
,這往往會丟失包含NULL值的行。例如,如果變量1,2和3包含'12'
,'23'
和undef
和table
包含12
,23
和NULL
,則查詢將不返回任何結果。有沒有簡單的方法來將012f的undef值轉換爲IS NULL
值?
您的整個'get_rows'函數可以被DBI的'selectall_hashref'方法取代。 – simbabque
@simbabque,你的意思是'selectall_arrayref'。 – cjm
@cjm當然是。 – simbabque