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

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

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

2020-01-18 22:55:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

使用perl連接mysql,這個(gè)網(wǎng)上有很多案例了,一般大家都是DBI下的DBD::MySQL這個(gè)模塊進(jìn)行.這里做一個(gè)mask弄一個(gè)TIPS:
 Perl DBI MySQL的字符集為UTF8
 Perl DBI 特殊字符寫(xiě)入時(shí)報(bào)錯(cuò)
 Perl DBI 連接自動(dòng)重連或是連接超時(shí)
 
1. 當(dāng)MySQL的字符集是UTF8時(shí)需要引入:
 

use utf8;binmode(STDOUT, ':encoding(utf8)');binmode(STDIN, ':encoding(utf8)');binmode(STDERR, ':encoding(utf8)');

目的:
解決perl連接mysql到數(shù)據(jù)后讀取顯示結(jié)果為亂碼的問(wèn)題.
 
2.對(duì)于特殊字符的寫(xiě)入,最好使用:

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


對(duì)于字符串有可能是用戶(hù)提交的用qq//包裹,減少特殊字符造成SQL不能執(zhí)行的情況.
3. 如果連接兩個(gè)數(shù)據(jù)庫(kù)有交換的操作或是遷數(shù)據(jù),要考慮連連超時(shí)的情況.
 報(bào)錯(cuò): MySQL server has gone away
  處理辦法:
  在DBD::mysql 4.012以后支持DBI連接的自動(dòng)重連.需要設(shè)置:

 $dbh->{mysql_auto_reconnect} = 1;

  在早期的模塊中不支持,簡(jiǎn)單的方法:
  

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿克苏市| 成安县| 浦北县| 亚东县| 正蓝旗| 吴江市| 盘锦市| 紫阳县| 田林县| 石渠县| 玉山县| 西宁市| 乐陵市| 太康县| 资阳市| 保亭| 定襄县| 张北县| 石棉县| 双江| 中阳县| 武宣县| 卢龙县| 东源县| 博乐市| 洪泽县| 高碑店市| 沂源县| 仪征市| 平乐县| 江西省| 加查县| 五常市| 广河县| 大邑县| 寿阳县| 靖边县| 凉山| 成都市| 抚远县| 大石桥市|