大佬教程收集整理的这篇文章主要介绍了在这种情况下,将 undef 传递给 DBI 的 `do` 方法的目的是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白 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);
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(),$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),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
表示没有要应用的属性。
见"do()" in DBI on CPAN。
$rows = $dbh->do($statement) or die $dbh->errstr;
$rows = $dbh->do($statement,\%attr) or die $dbh->errstr;
$rows = $dbh->do($statement,\%attr,@bind_values) or die ...
以上是大佬教程为你收集整理的在这种情况下,将 undef 传递给 DBI 的 `do` 方法的目的是什么?全部内容,希望文章能够帮你解决在这种情况下,将 undef 传递给 DBI 的 `do` 方法的目的是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。