国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 道真| 增城市| 铜川市| 即墨市| 兴山县| 南部县| 甘泉县| 德阳市| 苏州市| 刚察县| 永川市| 唐山市| 顺昌县| 礼泉县| 普兰县| 东乡族自治县| 宝丰县| 镇远县| 东城区| 隆尧县| 公安县| 蚌埠市| 山东省| 卢湾区| 望都县| 修文县| 青神县| 锦州市| 司法| 韶关市| 巴林右旗| 紫阳县| 云霄县| 安义县| 繁峙县| 平陆县| 西安市| 苏尼特右旗| 大足县| 凤凰县| 衡东县|