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

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

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

2024-07-24 12:46:05
字體:
來(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ì)于字符串有可能是用戶提交的用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è)置太短.

您可能感興趣的文章:

Mysql中LAST_INSERT_ID()的函數(shù)使用詳解MySQL外鍵使用詳解MySQL中按照多字段排序及問(wèn)題解決
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凉山| 滨海县| 安吉县| 达拉特旗| 天气| 鹿邑县| 越西县| 石柱| 康保县| 澜沧| 罗甸县| 永登县| 鄄城县| 上虞市| 陇川县| 喀喇沁旗| 黎平县| 宝清县| 深水埗区| 邻水| 绥江县| 来宾市| 哈密市| 哈尔滨市| 沙坪坝区| 横山县| 云梦县| 吉水县| 三台县| 盖州市| 彩票| 台中县| 陕西省| 华安县| 青海省| 阳东县| 顺义区| 潼南县| 兴仁县| 南和县| 太保市|