Perl 在此上下文中,将unde传递给DBI的'do'方法的目的是什么?
我不明白undef在这段代码中做了什么:Perl 在此上下文中,将unde传递给DBI的'do'方法的目的是什么?,perl,dbi,Perl,Dbi,我不明白undef在这段代码中做了什么: $dbh->do (qq { INSERT INTO todo SET t = NOW(), status = 'open', content = ? }, undef, $content); 有人能解释一下吗?我想我理解整个代码,但不是它的来源 use warnings; use strict; use lib q(/data/TEST/perl/lib); use CGI qw(:standard);
$dbh->do (qq {
INSERT INTO todo SET t = NOW(), status = 'open', content = ?
}, undef, $content);
有人能解释一下吗?我想我理解整个代码,但不是它的来源
use warnings;
use strict;
use lib q(/data/TEST/perl/lib);
use CGI qw(:standard);
use WebDB;
sub insert_item {
my $content = shift;
my $dbh;
$content =~ s/^\s+//;
$content =~ s/^\s+$//;
if ($content ne "") {
$dbh = WebDB::connect();
$dbh->do (qq {
INSERT INTO todo SET t = NOW(), status = 'open', content = ?
}, undef, $content);
$dbh->disconnect();
}
}
sub display_entry_form {
print start_form(-action=> url()),
"To-do item:", br (),
textarea ( -name => "content",
-value => "",
-override => 1,
-rows =>3,
-columns => 80),
br (),
submit(-name=> "choice", -value => "Submit"),
end_form();
}
print header(), start_html(-title=>"To-Do List", -bgcolor => "white"), h2("To-Do List");
my $choice = lc(param ("choice"));
if ($choice eq "") {
display_entry_form();
} elsif ( $choice eq "submit" ) {
insert_item(param("content"));
display_entry_form();
} else {
print p ("Logic error, unknown choice: $choice");
}
do方法有3个参数:查询、查询属性和绑定数据。示例中的undef表示没有要应用的属性
看
$rows=$dbh->do$语句或die$dbh->errstr;
$rows=$dbh->do$语句,\%attr或die$dbh->errstr;
$rows=$dbh->do$语句、\%attr、@bind\U值或die。。。
do方法有3个参数:查询、查询属性和绑定数据。示例中的undef表示没有要应用的属性
看
$rows=$dbh->do$语句或die$dbh->errstr;
$rows=$dbh->do$语句,\%attr或die$dbh->errstr;
$rows=$dbh->do$语句、\%attr、@bind\U值或die。。。
这相当于传递一个空的hashref。有关更多信息,请参阅关于属性的DBI文档。这相当于传递一个空的hashref。有关更多信息,请参阅有关属性的DBI文档。