- 论坛徽章:
- 0
|
本帖最后由 hu_zhuang163 于 2014-02-22 12:51 编辑
很简单,一个 for程序,循环向mysql数据库插入10条数据,如果第5条数据有问题,它会在控制台报告哪里有问题,然后继续执行下面的插入程序,我的疑问是,难道不是出错了就停止吗?
-----------再次修改
我查询得知 perl 的异常处理有die、warn、eval函数
如果我在执行插入语句时 加上
my $sthInsert = $dbh_laya->prepare($insertSql) or die DBI->errstr;
$sthInsert->execute() or die DBI->errstr;
程序应该就会停止循环并输出错误信息,对吗
- #!/user/bin/perl
- use warnings;
- use strict;
- use 5.010;
- use Encode;
- use utf8;
- use DBI;
- sub insertDataBase {
- my $dbh_laya = DBI->connect( "DBI:mysql:$DBName:$DBPort", "$DBUserName", "$DBPassWord" ) or die DBI->errstr;
- foreach my $placement (sort keys %allBidHash) {
-
- my $bidType="1";
- my $bidSize="1";
- my $bidScreen="1";
- my $bidURL="1";
- #数据库操作
-
- my $insertSql="insert into advertising_baidu (pid,size, refer_url,type,position,time) values('$placement','$bidSize','$bidURL','$bidType','$bidScreen',now())";
- my $sthInsert = $dbh_laya->prepare($insertSql);
- $sthInsert->execute();
-
- }
- $dbh_laya->disconnect();
- }
复制代码 |
|