我有以下代碼:如何在Perl中在運行時綁定DBI參數?
sub run_query {
my $name = shift || undef;
my $sql = (defined $name) ? "select * from table where name = ?" :
"select * from table";
my $sth = $dbh->prepare("$sql");
$sth->execute($name);
}
以上子程序需要的工作方式如下:如果提供$name
,然後運行第一個查詢,否則取表中的所有數據。我如何綁定name
字段?如果它提供了,我想它動態綁定。
您提供的代碼有問題嗎? – TLP
如果沒有提供name和$ sth-> execute($ name)運行。 – smith
my $ name = shift; #|| undef不需要...你不應該引用單獨的變量,$ dbh-> prepare($ sql) – tadmc