#!/usr/local/bin/perl #データベース用ライブラリ(標準) #この例ではサーバーに導入済みだが… use DBI; #フォームデコード用ライブラリ #ダウンロード先↓ #http://www.bio.cam.ac.uk/cgi-lib/ require './cgi-lib.pl'; #当スクリプト $script_file = "db-basic.cgi"; #スクリプトタイトル $title = "出たデータ(perl)"; #データベース接続用変数 # データソース $dsn = '<- データソース ->'; # ユーザ名 $user = '<- ユーザ名 ->'; # パスワード $password = '<- パスワード ->'; #cgi-lib.plの関数。これを呼び出すとフォームの内容が%inに格納される &ReadParse; #connectはデータベース接続するためのメソッド #接続すると、ハンドルを返すのでそれを使ってデータベースを操作します $ret = eval{ $dbh = DBI->connect($dsn, $user, $password) }; if (!$ret ) { &error('接続エラー','接続エラーが発生しました'); exit(); }else{ #print "接続しました
\n"; #フォームなどの内容から処理を切り替えます。 if ($in{'mode'} eq "search"){ #検索結果 }elsif($in{'mode'} eq "data"){ #内容詳細 }else{ #初期ページ表示 &printdata(); } $dbh->disconnect; } ########################################################### #データ表示 sub printdata { &head; print "テーブルからデータ所得
\n"; # prepareが成功した場合、ステートメントハンドルが返されます #このハンドルを使いSQLを実行します。 my $sth = $main::dbh->prepare("SELECT * FROM `user`"); # SQL文の実行 $sth->execute; # データの取得と出力 $count_rec = 0; while(@row = $sth->fetchrow_array) { $count_rec++; #データを処理します #print "@row
\n"; } #代表的なデータベース関数 #connect : データベースと接続する #disconnect : データベースとの接続を切る #prepare : SQL文を設定 #execute : 設定されたSQL文を実行 #do : SQL文の設定・実行 #fetch : フィールドの配列参照として次の行を取り出す #fetchrow_array : フィールドの配列として次の行を取り出す #fetchrow_hashref : ハッシュテーブルへの参照として次の行を取り出す print "
\n"; print "データ数:" . $count_rec; &foot; } ########################################################### #エラー表示 sub error { #ローカル変数の設定 #@_は引数の配列 local (@msg) = @_; local ($i); print "Content-type: text/html\n\n"; print <<"EOF"; $_[0]

$_[0]

EOF print "\n"; print "\n"; exit; } ########################################################### #ヘッダ表示 sub head { print "Content-type: text/html\n\n"; print <<"EOF"; $title

$title


EOF } ########################################################### #フッタ表示 sub foot { print "
"; print "戻る"; print "\n"; exit; }