- PHP與MySQL權(quán)威指南
- 吳津津 田睿 李云 劉昊
- 2548字
- 2019-03-01 14:40:51
第2章 PHP與MySQL開發(fā)環(huán)境的搭建
2.1 在Windows上安裝IIS
IIS(Internet Information Service,互聯(lián)網(wǎng)信息服務(wù))是由微軟公司提供的基礎(chǔ)互聯(lián)網(wǎng)服務(wù),它是一種Web服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成為一件很容易的事情。
下面以在Windows Server 2003中安裝IIS 6.0為例,為大家講解IIS組件的安裝。
首先打開控制面板,然后選擇“添加或刪除程序”,并在左側(cè)選擇“添加/刪除Windows組件”,接下來會(huì)顯示W(wǎng)indows組件向?qū)Ы缑妫凇癢indows組件向?qū)А敝羞x中“應(yīng)用程序服務(wù)器”,如圖2-1所示。

圖2-1 添加應(yīng)用程序服務(wù)器
單擊“詳細(xì)信息”按鈕,選中“Internet信息服務(wù)(IIS)”,如圖2-2所示。

圖2-2 選擇安裝IIS 6.0
單擊“確定”按鈕,會(huì)出現(xiàn)如圖2-3所示的界面。

圖2-3 開始安裝IIS 6.0
單擊“下一步”按鈕后開始安裝,安裝完成后根據(jù)圖2-4的提示打開“Internet信息服務(wù)(IIS)管理器”。

圖2-4 打開Internet信息服務(wù)(IIS)管理器
打開“Internet信息服務(wù)(IIS)管理器”,檢驗(yàn)安裝是否完成。
至此,IIS組件已安裝完成,界面如圖2-5所示。

圖2-5 IIS 6.0安裝成功
2.2 PHP的安裝和配置
本節(jié)將分別介紹PHP在Windows和Linux下的安裝配置過程。PHP的官方下載地址為http://cn.php.net/downloads.php。
2.2.1 在Windows下的安裝和配置
目前有很多基于Windows的多合一安裝包,但是我們建議用戶自己手動(dòng)安裝PHP,這樣可以更加詳細(xì)地了解PHP的使用和配置,并且能夠根據(jù)需要非常方便地安裝PHP擴(kuò)展。下面以PHP 5.2.14版本為例介紹PHP的安裝和配置過程。
(1)下載PHP安裝包php-5.2.14-Win32.zip,然后將其解壓縮到一個(gè)選定的目標(biāo)位置,如“C:\php\”,解壓后的文件目錄如圖2-6所示。

圖2-6 PHP安裝圖解:PHP安裝包解壓后的文件目錄
(2)為PHP設(shè)置一個(gè)有效的配置文件php.ini。在解壓后的目錄中有兩個(gè)ini文件php.ini-dist和php.ini-recommended,可將其中任何一個(gè)復(fù)制到Windows(有的系統(tǒng)是Winnt)目錄下,并改名為php.ini(建議使用php.ini-recommended,該文件在性能和安全方面做了優(yōu)化)。
(3)打開php.ini文件并找到“extension_dir="./"”這一行,將其值修改為在PHP目錄下“ext”文件夾的路徑,如“extension_dir="C:/php/ext"”。然后找到“;extension=php_gd2.dll”和“;extension=php_mysql.dll”并將前面的分號(hào)“;”去掉,這樣PHP既可以支持GD繪圖函數(shù)庫(kù),也可以支持MySQL數(shù)據(jù)庫(kù)。php.ini中還有很多其他的擴(kuò)展,可以根據(jù)自己的環(huán)境配置所需來開啟或關(guān)閉相應(yīng)的擴(kuò)展,這里不再一一介紹。
(4)將PHP的目錄配置到系統(tǒng)path中。右擊“我的電腦”,然后選擇“屬性”,會(huì)彈出一個(gè)對(duì)話框,在該對(duì)話框中選擇“高級(jí)”標(biāo)簽,如圖2-7所示。

圖2-7 “高級(jí)”標(biāo)簽窗口
然后單擊“環(huán)境變量”按鈕,會(huì)出現(xiàn)如圖2-8所示的對(duì)話框。

圖2-8 環(huán)境變量窗口
在該對(duì)話框中選擇系統(tǒng)變量名中的“Path”,然后單擊“編輯”按鈕,出現(xiàn)如圖2-9所示的對(duì)話框。

圖2-9 將PHP的目錄配置到系統(tǒng)Path中
在“變量值”輸入框的末尾添加“;php的目錄;”,如“;C:\php”,然后單擊“確定”按鈕,環(huán)境變量配置結(jié)束。
至此,PHP5安裝結(jié)束。下面介紹IIS服務(wù)器與PHP的集成。
(1)打開“Internet信息服務(wù)(IIS)管理器”,右擊“網(wǎng)站”,在彈出的快捷菜單中選擇“屬性”,彈出“目錄屬性”對(duì)話框,然后在彈出的對(duì)話框中選擇“主目錄”選項(xiàng)卡。將“執(zhí)行權(quán)限”設(shè)置為“腳本和可執(zhí)行文件”,如圖2-10所示。

圖2-10 “主目錄”選項(xiàng)卡
注意
“純腳本”與“腳本和可執(zhí)行文件”的區(qū)別。如果將應(yīng)用程序的權(quán)限設(shè)置為“純腳本”,則可以讓映射到腳本引擎的應(yīng)用程序在此目錄中運(yùn)行,但不擁有可執(zhí)行文件的執(zhí)行權(quán)限;如果將應(yīng)用程序的權(quán)限設(shè)置為“腳本和可執(zhí)行文件”,則允許應(yīng)用程序在此目錄中運(yùn)行,其中包括映射到腳本引擎的應(yīng)用程序和Windows的二進(jìn)制文件(.dll和.exe文件),所以將權(quán)限設(shè)置為“純腳本”比將權(quán)限設(shè)置為“腳本和可執(zhí)行文件”更安全。
(2)添加PHP支持。單擊圖2-10中的“配置”按鈕,將彈出“應(yīng)用程序配置”對(duì)話框,如圖2-11所示。

圖2-11 “應(yīng)用程序配置”對(duì)話框
在“映射”選項(xiàng)卡中,單擊“添加”按鈕,會(huì)出現(xiàn)如圖2-12所示的對(duì)話框,在“可執(zhí)行文件”位置單擊“瀏覽”按鈕,選擇php目錄下的“php5isapi.dll”,“擴(kuò)展名”處輸入“.php”,然后單擊“確定”按鈕。

圖2-12 添加/編輯應(yīng)用程序?qū)υ捒?/p>
(3)關(guān)閉網(wǎng)站屬性對(duì)話框,在“Internet信息服務(wù)(IIS)管理器”中選擇“Web服務(wù)擴(kuò)展”,點(diǎn)擊“添加一個(gè)新的Web服務(wù)擴(kuò)展”選項(xiàng),如圖2-13所示。

圖2-13 Internet信息服務(wù)(IIS)管理器界面
然后在彈出的“新建Web服務(wù)擴(kuò)展”對(duì)話框中填寫“擴(kuò)展名”為“.php”,在“要求的文件”后單擊“添加”按鈕,選擇php目錄下的php5isapi.dll,勾選下方的“設(shè)置擴(kuò)展?fàn)顟B(tài)為允許”,再單擊“確定”按鈕,如圖2-14所示。

圖2-14 新建Web服務(wù)擴(kuò)展界面
(4)關(guān)閉所有界面,重啟Internet信息服務(wù)(IIS)管理器,至此設(shè)置完成。
測(cè)試Internet信息服務(wù)(IIS)管理器對(duì)PHP的支持性,在“C:\Inetput\wwwroot\”目錄下創(chuàng)建頁面phpdemo.php,使用記事本打開該文件,輸入如下內(nèi)容:
<?php phpinfo(); ?>
打開瀏覽器,輸入“http://localhost/phpdemo.php”,如果出現(xiàn)如圖2-15所示的界面,則說明PHP安裝成功。

圖2-15 設(shè)置成功
2.2.2 在Linux下的安裝和配置
在Linux系統(tǒng)下搭建PHP環(huán)境要比Windows復(fù)雜一些,需要先安裝一些相關(guān)的工具,并設(shè)置必要的參數(shù)。而且,如果要使用PHP擴(kuò)展庫(kù),不像在Windows下修改php.ini那樣簡(jiǎn)單,而是需要對(duì)PHP重新進(jìn)行編譯。下面將詳細(xì)講解PHP在Linux系統(tǒng)下的安裝和配置,所選擇的Linux版本為Red Hat Enterprise Linux 5。安裝之前要準(zhǔn)備的安裝包有:libxml2-2.6.27.tar.gz、httpd-2.2.17.tar.gz、mysql-5.1.53-linux-i686-glibc23.tar.gz、php-5.2.14.tar.gz。
在Linux下安裝軟件,均需要在Linux終端下進(jìn)行(選擇“主菜單/應(yīng)用程序/附件/終端”)(以下安裝須按順序進(jìn)行)。在Linux系統(tǒng)下,PHP所用到的Web服務(wù)器為Apache下的HTTP Server,所以在安裝PHP之前要先安裝Apache服務(wù)器,安裝步驟如下所示。
(1)拷貝安裝包到“/usr/local”下。
#cp httpd-2.2.17.tar.gz /usr/local/
(2)切換目錄為“/usr/local”,創(chuàng)建目錄“httpd”。
#cd/usr/local #mkdir httpd
(3)解壓安裝包,解壓完成后進(jìn)入剛解壓的目錄。
#tar zxvf httpd-2.2.17.tar.gz #cd httpd-2.2.17
(4)配置項(xiàng)檢測(cè),并生成makefile文件,為make做準(zhǔn)備。
#./configure --prefix=/usr/local/httpd --enable-so
(5)編譯。
#make
(6)開始安裝。
#make install
Apache服務(wù)的管理。
啟動(dòng)服務(wù): #/usr/local/httpd/bin/apachectl start 停止服務(wù): #/usr/local/httpd/bin/apachectl stop
測(cè)試Apache安裝是否成功,先啟動(dòng)Apache服務(wù),然后打開瀏覽器,輸入“http://localhost”,按下“Enter”鍵,如果出現(xiàn)如圖2-16所示的界面,表示安裝成功。

圖2-16 安裝成功圖示一
或者出現(xiàn)如圖2-17所示界面,也表示安裝成功。

圖2-17 安裝成功圖示二
libxml2是一個(gè)XML C語言版的解析器,PHP訪問XML文件時(shí)需要libxml2類庫(kù)的支持,因此安裝PHP之前,需要先安裝libxml2。安裝步驟如下所示:
(1)拷貝安裝包到“/usr/local”下。
#cp libxml2-2.6.27.tar.gz /usr/local/
(2)切換目錄為“/usr/local”,創(chuàng)建目錄“l(fā)ibxml2”。
#cd /usr/local #mkdir libxml2
(3)解壓安裝包,解壓完成后,進(jìn)入剛解壓的目錄。
#tar zxvf libxml2-2.6.27.tar.gz #cd libxml2-2.6.27
(4)配置項(xiàng)檢測(cè),并生成makefile文件,為make做準(zhǔn)備。
# ./configure --prefix=/usr/local/libxml2
(5)編譯。
#make
(6)開始安裝。
#make install
MySQL的安裝和配置(詳見2.3.2節(jié))。
在Apache、libxml2和MySQL都安裝成功之后就可以開始準(zhǔn)備安裝PHP 5了,安裝步驟如下所示。
(1)拷貝安裝包到“/usr/local”下。
#cp php-5.2.14.tar.gz /usr/local/
(2)切換目錄為“/usr/local”,創(chuàng)建目錄“php”。
#cd /usr/local #mkdir php
(3)解壓安裝包,解壓完成后進(jìn)入剛解壓的目錄。
#tar zxvf php-5.2.14.tar.gz #cd php-5.2.14
(4)配置項(xiàng)檢測(cè),并生成makefile文件,為make做準(zhǔn)備。
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-libxml-dir=/usr/local/libxml2 --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql
(5)編譯。
#make
(6)開始安裝。
#make install
PHP安裝結(jié)束之后,需要修改Apache的配置文件httpd.conf(該文件在httpd/conf/下),使Apache服務(wù)器支持PHP腳本語言。
#gedit /usr/local/httpd/conf/httpd.conf
在該文件的末尾添加如下兩行語句:
AddDefaultCharset UTF-8 AddType application/x-httpd-php .php
(有些httpd版本中第一行語句為AddDefaultCharset ISO-8859-1,如果遇到這種情況,則將其值修改為UTF-8)。
Apache默認(rèn)的訪問主目錄為“htdocs”。在Linux下由于用戶權(quán)限的問題,因此需要將該文件夾授權(quán)給Linux系統(tǒng)安裝時(shí)的普通用戶,并設(shè)置訪問權(quán)限。
#chown -R /usr/local/httpd/htdocs/ Linux系統(tǒng)普通用戶賬號(hào) #chmod -R 755 /usr/local/httpd/htdocs/
測(cè)試PHP的安裝和配置是否成功,在“/usr/local/httpd/htdocs/”目錄下創(chuàng)建頁面phpdemo.php,打開該文件,輸入如下內(nèi)容:
<?php phpinfo(); ?>
啟動(dòng)Apache服務(wù)器,然后打開瀏覽器,輸入“http://localhost/phpdemo.php”,按Enter鍵將看到如圖2-18所示的界面。

圖2-18 phpinfo();顯示界面
圖2-18中指出PHP的配置文件php.ini并沒有被加載,按照?qǐng)D中所指的路徑,即“/usr/local/php/lib”,拷貝配置文件到該位置。
#cp /usr/local/php-5.2.14/php.ini-recommended /usr/local/php/lib/php.ini
至此,Linux系統(tǒng)下PHP的安裝和配置就結(jié)束了。
2.3 MySQL的安裝和配置
MySQL是一個(gè)中小型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由于其體積小、速度快、總體使用成本低,以及開放源碼這些特點(diǎn),許多中小型網(wǎng)站都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù),而且一直被認(rèn)為是PHP的最佳搭檔。
本節(jié)分別為大家講解MySQL在Windows和Linux下的安裝和配置過程。MySQL的官方下載地址為http://www.mysql.com/downloads/mysql/。
2.3.1 Windows下的安裝和配置
下面以mysql-essential-5.1.52-win32.msi版本為例詳細(xì)講解MySQL在Windows下的安裝和配置,步驟如下所示。
(1)雙擊MySQL安裝文件mysql-essential-5.1.52-win32.msi,進(jìn)入歡迎界面,單擊“Next”按鈕,進(jìn)入Setup Type界面,如圖2-19所示。

圖2-19 選擇安裝方式
(2)Setup Type界面中有3個(gè)單選按鈕,其中“Typical”和“Complete”兩種安裝方式的安裝路徑不能改變,“Custom”方式可以讓用戶選擇安裝組件和安裝路徑。在此選擇“Custom”選項(xiàng),單擊“Next”按鈕。
(3)進(jìn)入Custom Setup界面后,選擇要安裝的組件;然后單擊“Change...”按鈕,在彈出的對(duì)話框中選擇安裝路徑,選擇完成后單擊“Next”按鈕,如圖2-20所示。

圖2-20 選擇安裝組件和路徑
(4)進(jìn)入MySQL的準(zhǔn)備安裝界面,界面中顯示了用戶在以上步驟中所選擇的信息。信息確認(rèn)無誤后,單擊“Install”按鈕,如圖2-21所示。

圖2-21 確認(rèn)已選的安裝信息
(5)安裝完成后,會(huì)出現(xiàn)一些關(guān)于MySQL功能和版本的介紹。連續(xù)單擊“Next”按鈕,直到出現(xiàn)圖2-22所示的界面。

圖2-22 安裝完成
(6)單擊圖2-22中的“Finish”按鈕,開始MySQL服務(wù)器的配置,會(huì)出現(xiàn)如圖2-23所示的界面。選擇默認(rèn)項(xiàng)“Detailed Configuration”,單擊“Next”按鈕。

圖2-23 MySQL服務(wù)器的配置界面
(7)選擇服務(wù)器運(yùn)行模式界面。這里選擇第一個(gè)默認(rèn)項(xiàng)“Developer Machine”(該模式下MySQL服務(wù)器占用的內(nèi)存空間最小,進(jìn)行本地測(cè)試足夠使用),單擊“Next”按鈕,如圖2-24所示。

圖2-24 服務(wù)器運(yùn)行模式選擇
(8)選擇數(shù)據(jù)庫(kù)的類型,可以選擇支持MyISAM、InnoDB等多種存儲(chǔ)引擎的數(shù)據(jù)系統(tǒng),也可以選擇只支持其中一種的數(shù)據(jù)庫(kù)系統(tǒng)。默認(rèn)選擇“Multifunctional Database”,單擊“Next”按鈕,如圖2-25所示。

圖2-25 選擇數(shù)據(jù)類型
(9)選擇InnoDB數(shù)據(jù)文件的存放路徑。請(qǐng)注意選擇路徑后下方所選分區(qū)的剩余空間,單擊“Next”按鈕,如圖2-26所示。

圖2-26 選擇InnoDB數(shù)據(jù)文件的存放路徑
(10)選擇MySQL服務(wù)器的最大并發(fā)連接數(shù)量。這里可選擇第一個(gè)默認(rèn)項(xiàng)“Decision Support(DSS)/OLAP”,單擊“Next”按鈕,如圖2-27所示。

圖2-27 選擇MySQL服務(wù)器的最大并發(fā)連接數(shù)量
(11)選擇MySQL端口設(shè)置,默認(rèn)“3306”即可,單擊“Next”按鈕,如圖2-28所示。

圖2-28 選擇MySQL端口設(shè)置
(12)選擇MySQL字符集設(shè)置,選中第三項(xiàng)“Manual Selected Default Character Set/Collation”手動(dòng)設(shè)置字符集,在下方的下拉菜單中選擇“utf8”,單擊“Next”按鈕,如圖2-29所示。

圖2-29 MySQL字符集設(shè)置
(13)在圖2-30所示的界面中勾選兩個(gè)復(fù)選框,單擊“Next”按鈕。

圖2-30 其他相關(guān)選項(xiàng)
(14)設(shè)置“root”賬號(hào)、密碼(root賬號(hào)為MySQL默認(rèn)的管理員賬號(hào)),單擊“Next”按鈕,如圖2-31所示。

圖2-31 設(shè)置MySQL管理員賬號(hào)
(15)準(zhǔn)備執(zhí)行以上所選擇的配置,單擊“Execute”按鈕,如圖2-32所示。

圖2-32 確認(rèn)MySQL服務(wù)器配置信息
至此,MySQL在Windows下的安裝和配置全部完成。
2.3.2 Linux下的安裝和配置
Linux下MySQL的安裝要復(fù)雜一些,需要先創(chuàng)建MySQL賬號(hào)(因?yàn)長(zhǎng)inux下root的權(quán)限太大),并將該賬號(hào)加入到組群中,具體安裝步驟如下。
(1)創(chuàng)建MySQL賬號(hào),并加入組群。
#/usr/sbin/groupadd mysql #/usr/sbin/useradd -g mysql mysql
(2)拷貝安裝包到“/usr/local”下。
#cp mysql-5.1.53-linux-i686-glibc23.tar.gz /usr/local/
(3)解壓安裝包。
#tar zxvf mysql-5.1.53-linux-i686-glibc23.tar.gz
(4)創(chuàng)建到剛解壓的文件夾的鏈接,并命名為MySQL(創(chuàng)建鏈接方式的目的是考慮到MySQL數(shù)據(jù)庫(kù)以后升級(jí)的需要)。
#ln -s mysql-5.1.53-linux-i686-glibc23 mysql
(5)進(jìn)入目錄MySQL,并安裝MySQL數(shù)據(jù)庫(kù)。
#cd mysql #./scripts/mysql_install_db --user=mysql
(6)拷貝MySQL配置文件到系統(tǒng)目錄,并重命名為“my.cnf”。
#cp ./support-files/my-medium.cnf /etc/my.cnf
用下面的命令可以啟動(dòng)和停止MySQL服務(wù):
#/usr/local/mysql/bin/mysqld_safe --user=mysql& #/usr/local/mysql/bin/mysqladmin -u root -p shutdown
Linux系統(tǒng)下初次安裝MySQL后,root賬號(hào)的密碼為空,所以當(dāng)使用root賬號(hào)提示輸入密碼時(shí)直接回車即可。進(jìn)入MySQL客戶端,使用如下命令:
#/usr/local/mysql/bin/mysql -u root -p
退出時(shí),使用“exit”。
至此,MySQL在Linux下的安裝和配置全部完成。
2.4 PHP與MySQL連接
在Windows系統(tǒng)下,如果需要在PHP 5中使用MySQL,則要在Windows系統(tǒng)下的php.ini文件中啟動(dòng)MySQL模塊支持,打開php.ini,將如下3項(xiàng)前的分號(hào)“;”去掉。
;extension = php_mysql.dll ;extension = php_mysqli.dll ;extension = php_pdo_mysql.dll
在Linux系統(tǒng)下,編譯PHP時(shí)需要將MySQL相關(guān)的模塊也編譯進(jìn)去。
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql
檢查PHP是否支持MySQL的相關(guān)模塊,打開瀏覽器,輸入“http://localhost/phpdemo.php”,按Enter鍵將在頁面中看到3個(gè)和MySQL相關(guān)的表格“mysql”、“mysqli”和“pdo_mysql”。
下面簡(jiǎn)單介紹PHP訪問MySQL數(shù)據(jù)庫(kù)的方式。
PHP訪問MySQL數(shù)據(jù)庫(kù)的方式有多種,可以使用PHP內(nèi)建的數(shù)據(jù)庫(kù)訪問函數(shù),也可以使用數(shù)據(jù)庫(kù)抽象層來實(shí)現(xiàn)。
先來簡(jiǎn)單介紹一下如何使用PHP的內(nèi)建函數(shù)訪問MySQL數(shù)據(jù)庫(kù)。PHP提供mysql_connect()來連接數(shù)據(jù)庫(kù),然后通過mysql_close()來關(guān)閉該連接資源。示例如下:
<?php $link = mysql_connect('localhost', 'username','password'); //建立一個(gè)MySQL連接,三個(gè)參數(shù)分別表示服務(wù)器名、用戶名和密碼 mysql_select_db('test'); //訪問test數(shù)據(jù)庫(kù) $rs = mysql_query('select * from tb_object'); //執(zhí)行SQL語句 while($row = mysql_fetch_row($rs)){ //配合while循環(huán)輸出結(jié)果 print_r($row); //打印一行 echo "<br/>"; } mysql_close($link); //關(guān)閉打開的MySQL連接 ?>
使用PHP的內(nèi)建函數(shù)訪問數(shù)據(jù)庫(kù)雖然方便,性能也高,但MySQL、SQL Server、Oracle等數(shù)據(jù)庫(kù)的擴(kuò)展卻使用著不同且互不兼容的應(yīng)用程序接口(API),這導(dǎo)致應(yīng)用程序難以維護(hù)和移植。為了解決這些問題,PHP開發(fā)出了一套API來統(tǒng)一各種不同的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的共有特性,從而使PHP腳本實(shí)現(xiàn)最大程度的抽象性和兼容性,這就是數(shù)據(jù)庫(kù)抽象層。
使用數(shù)據(jù)庫(kù)抽象層,意味著當(dāng)從一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)向另一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)遷移時(shí),幾乎不用更改太多的程序代碼。目前,比較主流的數(shù)據(jù)庫(kù)抽象層有Metabase、PEAR:DB、PDO(PHP Data Object)及ADODB(Active Data Object Data Base)等,而PDO和ADODB是當(dāng)今最快的數(shù)據(jù)庫(kù)抽象類。
要使用數(shù)據(jù)庫(kù)抽象層ADODB來操作數(shù)據(jù)庫(kù),需要先獲取和安裝ADODB,只需要在網(wǎng)上下載ADODB包,然后解壓到Web服務(wù)器目錄下即可(要使用ADODB,PHP必須是4.01以上的版本)。下面是使用ADODB訪問MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單示例。
<?php require_once 'adodb/adodb.inc.php'; //載入adodb.inc.php文件 $conn = ADONewConnection('mysql'); //連接MySQL數(shù)據(jù)庫(kù) $conn->connect('localhost' , 'username' , 'password , 'test');//訪問test數(shù)據(jù)庫(kù) $rs = $conn->execute('SELECT * FROM tb_object'); //執(zhí)行SQL語句 while ($row = $rs->FetchRow()) { //配合while循環(huán)輸出結(jié)果 print_r($row); //打印一行 echo "<br/>"; } $rs->close(); $conn->close(); ?>
數(shù)據(jù)庫(kù)抽象層PDO是一個(gè)使用C語言開發(fā)的數(shù)據(jù)庫(kù)抽象層,它是和PHP 5.1版本一起發(fā)行的,默認(rèn)包含在PHP 5.1中。由于PDO需要PHP 5的核心面向?qū)ο筇匦缘闹С郑虼怂鼰o法在PHP 5之前的版本中運(yùn)行。下面是使用PDO訪問MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單示例。
<?php $dsn = 'mysql:dbname=test;host=localhost'; //設(shè)置數(shù)據(jù)源 try { //捕獲異常 $pdo = new PDO($dsn, 'username', 'password'); //創(chuàng)建PDO對(duì)象 $rs = $pdo->query('SELECT * from tb_object'); //執(zhí)行SQL語句 foreach ($rs as $row) { //循環(huán)輸出結(jié)果 print_r($row); echo "<br/>"; } $pdo = null; //銷毀PDO對(duì)象 } catch (PDOException $e) { //異常處理 print "Error!: " . $e->getMessage() . "<br/>"; die(); } ?>
以上演示了使用3種方式來訪問MySQL數(shù)據(jù)庫(kù),各有各的特點(diǎn)。使用內(nèi)建函數(shù)的方式最為直接方便,但是數(shù)據(jù)庫(kù)移植性差。PDO的設(shè)計(jì)繼承了PHP的特點(diǎn),簡(jiǎn)潔易用,它在使用上依然使用原生的SQL,這就使得它當(dāng)PHP環(huán)境中的數(shù)據(jù)庫(kù)發(fā)生變化時(shí)無法做出相應(yīng)的反應(yīng),也就是說,PDO不適合用在打算或有可能會(huì)變更數(shù)據(jù)庫(kù)的系統(tǒng)中。不管后端數(shù)據(jù)庫(kù)如何,ADODB存取數(shù)據(jù)庫(kù)的方式都是一致的,轉(zhuǎn)移數(shù)據(jù)庫(kù)平臺(tái)時(shí),程序代碼也不必做太大的更改,只需要改動(dòng)數(shù)據(jù)庫(kù)相關(guān)的配置文件即可。經(jīng)過比較,ADODB比PDO更強(qiáng)大,但是這個(gè)抽象層的體積似乎過于龐大,全部文件加起來大約有1MB,如果只是做一個(gè)較小的網(wǎng)站,似乎有些大材小用,同時(shí)也會(huì)使你的網(wǎng)站程序看起來有些肥胖。讀者可以根據(jù)自己的網(wǎng)站設(shè)計(jì)合理地選擇一種適合的方式。
2.5 小結(jié)
本章詳細(xì)介紹了開發(fā)PHP應(yīng)用所需的3種軟件—PHP、MySQL和IIS的安裝和配置方法。首先介紹了如何在Windows下安裝和配置IIS,然后分別介紹了PHP和MySQL在Windows和Linux這兩個(gè)平臺(tái)下的安裝和配置方法,最后進(jìn)解了PHP和MySQL的連接。本章特別強(qiáng)調(diào)了PHP運(yùn)行時(shí)的多種配置選項(xiàng),具有很大的參考價(jià)值。
- Learning LibGDX Game Development(Second Edition)
- 零基礎(chǔ)學(xué)Visual C++第3版
- Advanced Machine Learning with Python
- Mastering ServiceStack
- Swift 3 New Features
- SSM輕量級(jí)框架應(yīng)用實(shí)戰(zhàn)
- Apache Mahout Clustering Designs
- 代替VBA!用Python輕松實(shí)現(xiàn)Excel編程
- Instant jQuery Boilerplate for Plugins
- AI自動(dòng)化測(cè)試:技術(shù)原理、平臺(tái)搭建與工程實(shí)踐
- MySQL數(shù)據(jù)庫(kù)應(yīng)用實(shí)戰(zhàn)教程(慕課版)
- Python機(jī)器學(xué)習(xí)開發(fā)實(shí)戰(zhàn)
- Java Web開發(fā)基礎(chǔ)與案例教程
- C# 7.0本質(zhì)論
- Dart:Scalable Application Development