【发布时间】:2012-01-17 21:40:38
【问题描述】:
我有以下代码:
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 字段?如果提供的话,我希望它动态绑定。
【问题讨论】:
-
你提供的代码有问题吗?
-
如果没有提供名称和 $sth->execute($name) 运行。
-
我的 $name = shift; # ||不需要undef...你不应该引用单独的变量,$dbh->prepare($sql)