喬遷啟示:因應實體教室租約到期,富捷培訓於八月起將在長安新址,以線上直播教學為您服務,懇請舊雨新知繼續支持與指教。 地址:台北市長安東路二段201巷19號之1一樓,電話: 02-27116373

12 九月 2013

Perl – DBD::mysql 模組運用

# Perl DBD::mysql 模組的簡易使用方式

#!/usr/bin/perl -w

use strict;
use DBD::mysql;
use utf8;
use Data::Dumper;

#利用hash資料結構便於收納資料庫及主機的資訊
%hostinfo = ( ‘database’ => ‘sugarcrm’,
‘host’ => ‘localhost’,
‘port’ => ‘3306’,
‘dbuser’ => ‘op’,
‘dbpasswd’ => ‘helloworld’,
‘table’=> ‘users’ );

#收集登入資料庫所有資訊及功能
$dbinfo = “DBI:mysql:database=$hostinfo{ ‘database’ };host=$hostinfo{ ‘host’ };port=$hostinfo{ ‘port’ }”;

# 建立資料庫連線 dbh – DataBase Handler,如有中文則需使用mysql_enable_utf8啟用utf8字元集
$dbh = DBI->connect( $dbinfo, $hostinfo{ ‘dbuser’ }, $hostinfo{ ‘dbpasswd’ }, { RaiseError => 1, mysql_enable_utf8 => 1 } );

# 開始準備SQL的陳述(statement), stmt – statement
$stmt = $dbh->prepare( “SQL的指令放置於此” );

# 執行SQL指令
$stmt->execute();

####################################################
#自此之後可以利用DBD::mysql所提供取得資料的methods:
# $stmt->rows 擷取每列資料,並以List的方式回傳
# $stmt->fetchrow_arrayref() 擷取每列資料,以array reference的方式回傳,回傳的資料並依照順序排列
# $stmt->fetchrow_hashref() 擷取每列資料,以hash reference的方式回傳,回傳的資料並不會依照順序排列
####################################################

#結束該SQL陳述
$stmt->finish;