- 論壇徽章:
- 0
|
本帖最后由 hu_zhuang163 于 2014-02-22 12:51 編輯
很簡單,一個 for程序,循環(huán)向mysql數(shù)據(jù)庫插入10條數(shù)據(jù),如果第5條數(shù)據(jù)有問題,它會在控制臺報告哪里有問題,然后繼續(xù)執(zhí)行下面的插入程序,我的疑問是,難道不是出錯了就停止嗎?
-----------再次修改
我查詢得知 perl 的異常處理有die、warn、eval函數(shù)
如果我在執(zhí)行插入語句時 加上
my $sthInsert = $dbh_laya->prepare($insertSql) or die DBI->errstr;
$sthInsert->execute() or die DBI->errstr;
程序應(yīng)該就會停止循環(huán)并輸出錯誤信息,對嗎
- #!/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";
- #數(shù)據(jù)庫操作
-
- 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();
- }
復(fù)制代碼 |
|