国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

使用Perl DBI操作MySQL的一些建議

2024-07-24 13:07:14
字體:
供稿:網(wǎng)友

這篇文章主要介紹了使用Perl DBI操作MySQL的一些建議,針對Perl下連接MySQL的DBD::MySQL這個模塊,需要的朋友可以參考下

使用perl連接mysql,這個網(wǎng)上有很多案例了,一般大家都是DBI下的DBD::MySQL這個模塊進行.這里做一個mask弄一個TIPS:

Perl DBI MySQL的字符集為UTF8

Perl DBI 特殊字符寫入時報錯

Perl DBI 連接自動重連或是連接超時

1. 當MySQL的字符集是UTF8時需要引入:

 

 
  1. use utf8; 
  2. binmode(STDOUT, ':encoding(utf8)'); 
  3. binmode(STDIN, ':encoding(utf8)'); 
  4. binmode(STDERR, ':encoding(utf8)'); 

目的:

解決perl連接mysql到數(shù)據(jù)后讀取顯示結(jié)果為亂碼的問題.

2.對于特殊字符的寫入,最好使用:

 

 
  1. my $sth=$dbh->prepare("insert into wubx.WeekEvent values(?,?,?,?,?,?,?)"); 
  2. $sth->execute($OId,$CId,qq/$Time/,$EventType,qq/$CDesc/,$PId,$RFlag); 

對于字符串有可能是用戶提交的用qq//包裹,減少特殊字符造成SQL不能執(zhí)行的情況.

3. 如果連接兩個數(shù)據(jù)庫有交換的操作或是遷數(shù)據(jù),要考慮連連超時的情況.

報錯: MySQL server has gone away

處理辦法:

在DBD::mysql 4.012以后支持DBI連接的自動重連.需要設(shè)置:

 

 
  1. $dbh->{mysql_auto_reconnect} = 1; 

在早期的模塊中不支持,簡單的方法:

 

 
  1. $dbh->do('set SESSION wait_timeout=72000'); 
  2. $dbh->do('set SESSION interactive_timeout=72000'); 

此方法適用別的語言連MySQL連接短期丟失或是Server的timeout時間設(shè)置太短.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 台安县| 大关县| 车致| 蒲江县| 浠水县| 视频| 六盘水市| 南昌市| 东城区| 吴忠市| 龙岩市| 平武县| 七台河市| 高碑店市| 大方县| 广东省| 黄梅县| 建瓯市| 利辛县| 汕尾市| 通许县| 常熟市| 二手房| 崇阳县| 泰州市| 竹溪县| 嘉兴市| 道孚县| 乌兰察布市| 安宁市| 八宿县| 芜湖市| 松溪县| 繁昌县| 虎林市| 石渠县| 莆田市| 马尔康县| 新田县| 建昌县| 崇左市|