#! /usr/bin/perl
#---------------------------------------------------------------------
# - プログラム名 データベース・データ表示
# - バージョン 0.1
# - 公開/更新日 2011.8.1
# - ファイル名 DspDB_Sample.cgi
#---------------------------------------------------------------------
# このCGIはブログ掲載用にサンプルとして作成たものです。
#---------------------------------------------------------------------
#
#use CGI::Carp qw/fatalsToBrowser/;
use CGI;
use DBI;
use Encode qw(from_to);
#--- 変数 ---
my $DatabaseName='hogeDB';
my $DatabaseHost='mysql9999.db.sakura.ne.jp';
my $DatabaseAccount='hogeUser';
my $DatabasePasswd='hogePasswd';
my $DBOpen='close';
my $strSQL='';
my $sth='';
my $key='';
my $value='';
my $i=0;
my @ErrMSG=();
my @item=();
my $result='';
#--- データベース接続 ---
my $dsn="DBI:mysql:".$DatabaseName.":".$DatabaseHost;
my $db = DBI->connect($dsn, $DatabaseAccount, $DatabasePasswd, { RaiseError => 1, AutoCommit => 0 });
if(! $db){ push(@ErrMsg,"Not Connected Database"); }else{ $DBOpen='open'; }
if(@ErrMsg == 0) {
#--- キャラクターセットの通知 --
$strSQL = "set names utf8";
$sth = $db->prepare($strSQL);
$sth->execute;
#--- 読み取りSQL ---
$strSQL = 'SELECT* FROM `myblogsamp` WHERE Sumi!=1 LIMIT 1';
$sth = $db->prepare($strSQL);
$sth->execute;
@item = $sth->fetchrow_array;
#--- 結果整形 ---
for($i=0; $i<$sth->{NUM_OF_FIELDS}; $i++) {
#--項目名・値の取得とSJIS化
$key=$sth->{NAME}->[$i]; from_to($key, 'utf8', 'cp932');
$value=$item[$i]; from_to($value, 'utf8', 'cp932');
#--整形
$result.=$key."=".$value."<>";
}
#--- データベース終了する
if($DBOpen eq 'open') { $db->disconnect; }
}else{
$result=@Error;
}
#--- 結果表示 --
print "Content-type: text/html; charset=Shift-Jis\n\n";
print $result;
exit;