有没有一种方法可以重复使用在DBI准备语句中使用的问号?考虑以下代码:
$sth=$dbh->prepare("INSERT INTO mytable(a,b,c) SELECT ?,B(?),C(?)");
$sth->execute($a,$a,$a);
最好使用类似这样的东西:
#I'm making this up as something I hope exists
$sth=$dbh->prepare("INSERT INTO mytable(a,b,c) SELECT ?,B(?:1),C(?:1)");
$sth->execute($a);
请注意,在执行中只传递了一个 $a
而不是三个。在实际生活中是否有方法可以做到这一点?
$a
(和$b
)作为随机变量使用。它们是特殊的并且有专门的定义:http://perldoc.perl.org/perlvar.html#%24a - pilcrow