top
Loading...
Perl編程中的mysql數據庫連接使用方法
  許多網友問到這個問題,我來詳細介紹一下吧。
  首先,要安裝perl的DBI模塊,目前最新的版本是1.14,可以去www.cpan.org下載,文件名是DBI-1.14.tar.gz,下載后將該文件拷貝到一個臨時目錄中,運行以下命令安裝:
  tar xzvf DBI-1.14.tar.gz
  cd DBI-1.14
  perl Makefile.PL
  make
  make test
  make install
  然后,要安裝Msql-Mysql-modules,我得到的最新版本是1.2215,可以去www.cpan.org下載,文件名是Msql-Mysql-modules-1.2215.tar.gz,下載后將該文件拷貝到一個臨時目錄中,運行以下命令安裝:
  tar xzvf Msql-Mysql-modules-1.2215.tar.gz
  cd Msql-Mysql-modules-1.2215
  perl Makefile.PL
  make
  make test
  make install
  執行“perl Makefile.PL”命令時會提示你輸入選項,如果是值用來支持Mysql的話,輸入1就可以了。

  需要的軟件安裝完成,現在就可以在perl程序中連接數據庫了。
  use DBI;
  #這條語句是用來說明使用DBI模塊的
  my $dsn="DBI:mysql:$db_name:$host";
  #這條語句用來定義一個數據源,其中$db_name是你要連接的數據庫的庫名,$host是你要連接的數據庫所在的主機名,可以省略不寫,用這種形式:my $dsn="DBI:mysql:$db_name";
  my $db_user="db_username";
  my $db_pass="db_password";
  #這里定義了連接數據庫時使用的用戶名和密碼
  my ($dbh,$sth);#定義兩個標量,用來做庫句柄和語句句柄
  $dbh=DBI->connect($dsn,$db_user,$db_pass,{RaiseError=>1});
  #使用面向對象的方法建立一個數據庫句柄,其中“RaiseError=>1”的作用是連接數據庫出錯時顯示一條信息,然后退出,如果不用這種方法的話,DBI->connect方法將返回一個undef值。這時,我們就可以進行數據庫的操作了。
  #下面,我將介紹兩種數據庫操作的方法
  1.有返回值的處理方法
  $sth=$dbh->prepare("select password from userinformation where username='$username'");
  #輸入一條SQL語句
  $sth->execute();
  #執行SQL語句
  my $password=$sth->fetchrow_array();
  # -- or --
  while(my @password=$sth->fetchrow_array())
    {
    ...
    }
  #得到查詢的返回結果,如果是多個值的話,可以使用while循環來做。
  $sth->finish();
  #關閉語句句柄

  2.無返回值的處理方法
  my $stat=$dbh->do("insert into userinformation values('$username','$password','$state')");
  #這種無返回值的處理方法就簡單多了,也不用使用$sth->finish();語句來關閉數據庫句柄

  $dbh->disconnect();
  #關閉數據庫句柄

  這就是連接數據庫的基本操作,但是,使用過程中要注意一些問題:
  1.使用do的方法時,后面不要跟$sth->finish();語句
  2.連接數據庫完畢后,要記得關閉數據庫句柄,即執行$dbh->disconnect();語句 
北斗有巢氏 有巢氏北斗