#! /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;