PHP與MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)

出版時(shí)間:2013-1  出版社:人民郵電出版社  作者:Larry Ullman  頁(yè)數(shù):638  字?jǐn)?shù):1097000  譯者:杜 凱,陳宗斌  
Tag標(biāo)簽:無(wú)  

前言

  今天的Web用戶期待更吸引人的頁(yè)面——它們會(huì)頻繁更新,并且提供個(gè)性化的體驗(yàn)。在他們看來(lái),Web站點(diǎn)更像是社區(qū),他們將一遍又一遍地回訪。同時(shí),Web站點(diǎn)管理員希望站點(diǎn)更容易更新和維護(hù),他們理解到這是能夠不斷滿足訪問(wèn)者期望的唯一方式。由于如此種種原因,PHP和MySQL變成了創(chuàng)建動(dòng)態(tài)的、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)的事實(shí)標(biāo)準(zhǔn)?! ”緯?shū)可以說(shuō)是凝聚了我多年Web開(kāi)發(fā)經(jīng)驗(yàn)和多部Web開(kāi)發(fā)技術(shù)圖書(shū)寫作經(jīng)驗(yàn)的顛峰之作。本書(shū)重點(diǎn)在于以最高效的方式介紹最重要的知識(shí)。它將介紹如何開(kāi)始開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn),并給出了大量示例代碼來(lái)幫助讀者起步。你只需要滿懷熱忱地來(lái)學(xué)習(xí)就行了?! 『冒桑覀冞@就開(kāi)始……  什么是動(dòng)態(tài)Web站點(diǎn)  動(dòng)態(tài)Web站點(diǎn)非常靈活、強(qiáng)大,將其描述為應(yīng)用程序(application)而不僅僅是站點(diǎn)會(huì)更準(zhǔn)確。動(dòng)態(tài)Web站點(diǎn)的特征包括:  能夠?qū)Σ煌膮?shù)做出響應(yīng)(例如,一天中的某個(gè)時(shí)間,或者訪問(wèn)者的Web瀏覽器版本);  具有“記憶”,允許用戶執(zhí)行注冊(cè)、登錄、電子商務(wù)以及類似的過(guò)程;  通常包含HTML表單,使得人們可以執(zhí)行查找、提供反饋等;  通常具有允許管理員管理站點(diǎn)內(nèi)容的界面;  與靜態(tài)創(chuàng)建的站點(diǎn)相比,更易于維護(hù)、升級(jí)和構(gòu)建?! ∮性S多技術(shù)可用于創(chuàng)建動(dòng)態(tài)Web站點(diǎn)。最常用的技術(shù)是ASP.NET、JSP(Java ServerPages)、ColdFusion、Ruby on Rails和PHP。動(dòng)態(tài)Web站點(diǎn)不一定依賴數(shù)據(jù)庫(kù),但是,越來(lái)越多的動(dòng)態(tài)Web站點(diǎn)正在這樣做,何況還有MySQL這樣幾乎可以免費(fèi)使用的數(shù)據(jù)庫(kù)?! ∈裁词荘HP  PHP最初代表“個(gè)人主頁(yè)”(Personal Home Page),由Rasmus Lerdorf于1994年創(chuàng)建,用于跟蹤訪問(wèn)者對(duì)其在線履歷的訪問(wèn)。隨著實(shí)用性和功能的不斷提高(并且也開(kāi)始用于更專業(yè)的環(huán)境中),它變成了“PHP:Hypertext Preprocessor(PHP:超文本預(yù)處理器)”。  根據(jù)(參見(jiàn)圖0-1)上PHP官方站點(diǎn)的說(shuō)法,PHP是“一種廣泛使用的通用腳本語(yǔ)言,特別適用于Web開(kāi)發(fā),并且可以嵌入在HTML中”。這是一個(gè)復(fù)雜但具有描述性的定義,其含義將在后面解釋。  稱PHP“可以嵌入在HTML中”,意味著在標(biāo)準(zhǔn)的HTML頁(yè)面中根據(jù)需要插入一些PHP代碼,就可以得到動(dòng)態(tài)效果。因此PHP很適合網(wǎng)頁(yè)設(shè)計(jì)和制作者使用?! 〈送?,與編譯語(yǔ)言相比,PHP是一種腳本語(yǔ)言:設(shè)計(jì)PHP的目的是用于編寫Web腳本,而不是編寫?yīng)毩⒌膽?yīng)用程序(當(dāng)然,現(xiàn)在多費(fèi)點(diǎn)勁也可以用PHP創(chuàng)建應(yīng)用程序)。PHP腳本只在某個(gè)事件(例如,用戶提交一個(gè)表單或者輸入一個(gè)URL地址)發(fā)生之后才運(yùn)行。  圖0-1 PHP主頁(yè)  我應(yīng)該在這個(gè)定義中添加一些內(nèi)容,指出PHP是一種服務(wù)器端、跨平臺(tái)的技術(shù),這兩個(gè)描述都是重要的。服務(wù)器端是指PHP做的所有事情都發(fā)生在服務(wù)器上。這需要Web服務(wù)器,像Apache或微軟公司的IIS(Internet Information Services,Internet信息服務(wù)),并且必須通過(guò)URL(以http://開(kāi)始的網(wǎng)址)訪問(wèn)所有PHP腳本。跨平臺(tái)的意思是,PHP可以運(yùn)行在大多數(shù)操作系統(tǒng)上,包括Windows、UNIX(及其許多變體)和Macintosh。更重要的是,對(duì)于在一臺(tái)服務(wù)器上編寫的PHP腳本,通常不用修改或者只做很少的修改即可工作在另一臺(tái)服務(wù)器上?! HP6發(fā)生了什么·  當(dāng)我撰寫本書(shū)的第3版時(shí),PHP的下一個(gè)主要版本PHP 6已經(jīng)開(kāi)發(fā)了將近一半兒了??紤]到PHP 6可能會(huì)在那一版出版后不久發(fā)布,我就在當(dāng)中加入了一些PHP 6 beta版的內(nèi)容。但不幸的是,PHP 6夭折了?! HP 6最主要的新特性是將Unicode引入PHP引擎,這意味著PHP 6將可以處理世界上所有的語(yǔ)言字符了。這將使這個(gè)已經(jīng)非常受歡迎的編程語(yǔ)言錦上添花。不幸的是,實(shí)現(xiàn)對(duì)Unicode的支持十分復(fù)雜且難度很大,語(yǔ)言的開(kāi)發(fā)者擱置了PHP 6的開(kāi)發(fā)。然而不是所有的都取消了:PHP6計(jì)劃引入的一些新特性,比如命名空間(面向?qū)ο缶幊痰母拍睿?,就已添加到PHP 5.3版中?! ≡谧珜戇@一版時(shí),何時(shí)實(shí)現(xiàn)Unicode支持尚不明朗,PHP 6的正式發(fā)布日期還未可知。我預(yù)感未來(lái)一段時(shí)間內(nèi)PHP將會(huì)沿著版本5的主干漸進(jìn)發(fā)展?! ≡诰帉懕緯?shū)的時(shí)候,PHP的最新是5.3.6版本,建議讀者使用PHP5.0以上的版本。本書(shū)中要用到的一些函數(shù)和特性需要運(yùn)行在PHP 5.2及以上版本。當(dāng)用到新版本中引入的功能時(shí),我會(huì)為那些仍使用較低版本的讀者提供一些替代解決方案。  如果你仍然還使用著PHP4,強(qiáng)烈建議升級(jí)到更高版本。如果你沒(méi)有這個(gè)計(jì)劃,那么請(qǐng)購(gòu)買本書(shū)的第2版?! 「嚓P(guān)于PHP的信息,PHP核心背后的思想,可以隨時(shí)在PHP.net或者Zen上找到?! 槭裁词褂肞HP  簡(jiǎn)單地講,在開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)時(shí),與其他可選技術(shù)相比,PHP更好、更快并且更易于學(xué)習(xí)。PHP有優(yōu)秀的性能、與幾乎所有數(shù)據(jù)庫(kù)的緊密集成、穩(wěn)定性、可移植性,以及由于其可擴(kuò)展性而得到的幾乎無(wú)限的特性集。所有這些都是免費(fèi)的(PHP是開(kāi)源技術(shù)),并且非常易于學(xué)習(xí)。在我接觸的語(yǔ)言中,PHP是最佳地結(jié)合了易用性和高級(jí)能力的語(yǔ)言之一,初級(jí)程序員使用它很容易上手,更高級(jí)的程序員可以用它做他們需要的一切事情。  最后,一個(gè)事實(shí)可以證明這一點(diǎn):PHP自從推出以來(lái),其用戶數(shù)量呈指數(shù)級(jí)增長(zhǎng),76%的網(wǎng)站都采用PHP作為其服務(wù)端技術(shù)(參見(jiàn)圖0-2)。在所有受歡迎的編程語(yǔ)言中,PHP排在第5位(參見(jiàn)圖0-3)。  圖0-2 Web Technology Surveys 網(wǎng)站提供的服務(wù)器端技術(shù)調(diào)查表  圖0-3 Tiobe Index  結(jié)合各種因素給出的流行的編程語(yǔ)言排名  當(dāng)然,由于我是PHP圖書(shū)(實(shí)際上市面上有很多本這樣的圖書(shū))的作者,你可能想當(dāng)然地認(rèn)為我的觀點(diǎn)有失公平。盡管我使用JSP、RoR(Ruby on Rails)和ASP.NET不像PHP那樣廣泛,但是也使用它們開(kāi)發(fā)站點(diǎn)。它們都有自己的優(yōu)缺點(diǎn),但是我總是會(huì)返回到PHP這種技術(shù)上來(lái)。你可能聽(tīng)說(shuō)它的性能和擴(kuò)展性不如其他技術(shù),但是Yahoo!、維基百科、Facebook都使用PHP,比這幾個(gè)網(wǎng)站的訪問(wèn)量多的網(wǎng)站可不多啊?! ∧阋部赡芟胫繮HP的安全性如何。但是安全性不在語(yǔ)言本身,而在于使用語(yǔ)言的方式。當(dāng)然,本書(shū)將全面討論所有重要的安全性問(wèn)題的最新內(nèi)容?! HP如何工作  如前所述,PHP是一種服務(wù)器端語(yǔ)言。這意味著用PHP編寫的代碼將駐留在稱為服務(wù)器的主機(jī)上。服務(wù)器發(fā)送Web頁(yè)面給發(fā)出請(qǐng)求的訪問(wèn)者(你、客戶端和Web瀏覽器)?! ‘?dāng)訪問(wèn)者訪問(wèn)用PHP編寫的Web站點(diǎn)時(shí),服務(wù)器讀取PHP代碼,然后依據(jù)其腳本指令處理它。在圖0-4所示的示例中,PHP代碼告訴服務(wù)器發(fā)送合適的數(shù)據(jù)(HTML代碼)給Web瀏覽器,Web瀏覽器再把接收到的代碼處理成標(biāo)準(zhǔn)HTML頁(yè)面。  圖0-4 當(dāng)用戶請(qǐng)求Web頁(yè)面時(shí),PHP如何在客戶/服務(wù)器模型中發(fā)揮作用  這不同于靜態(tài)HTML站點(diǎn)。在靜態(tài)HTML站點(diǎn)中,當(dāng)發(fā)出請(qǐng)求時(shí),服務(wù)器只是把HTML數(shù)據(jù)發(fā)送到Web瀏覽器,而不會(huì)由服務(wù)器端進(jìn)行解釋(參見(jiàn)圖0-5)。由于不需要服務(wù)器端的動(dòng)作,所以可以在Web瀏覽器中運(yùn)行HTML頁(yè)面,而根本不需要使用服務(wù)器?! D0-5 當(dāng)對(duì)靜態(tài)HTML頁(yè)面發(fā)出請(qǐng)求時(shí)客戶/服務(wù)器的處理過(guò)程  對(duì)于最終用戶和Web瀏覽器來(lái)說(shuō),home.html和home.php兩者在外觀上并沒(méi)有明顯的區(qū)別,但是,其頁(yè)面內(nèi)容的創(chuàng)建方式卻有著天壤之別?! ∈裁词荕ySQL  MySQL(參見(jiàn)圖0-6)是世界上最流行的開(kāi)源數(shù)據(jù)庫(kù)。事實(shí)上,今天MySQL成為了那些昂貴的重量級(jí)數(shù)據(jù)庫(kù)(如Oracle和微軟公司的SQL Server)有力的競(jìng)爭(zhēng)產(chǎn)品。像PHP一樣,MySQL提供了優(yōu)秀的性能、可移植性和可靠性,易于學(xué)習(xí),并且?guī)缀跏敲赓M(fèi)的?! D0-6 MySQL數(shù)據(jù)庫(kù)應(yīng)用程序的主頁(yè)  發(fā)音指南  雖然只是小節(jié),但我仍要預(yù)先說(shuō)明:MySQL應(yīng)該讀作“My Ess Que Ell”,就像SQL應(yīng)該讀作“Ess Que Ell”一樣。許多人最初都會(huì)對(duì)此產(chǎn)生疑問(wèn),雖然這并不是什么大問(wèn)題,但是,學(xué)會(huì)正確地讀縮寫詞總是好事?! ySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,Database Management System)。簡(jiǎn)單地講,數(shù)據(jù)庫(kù)是一些相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)可以是文本、數(shù)字或二進(jìn)制文件,它們由DBMS進(jìn)行存儲(chǔ)和組織?! ?shù)據(jù)庫(kù)有多種類型,從簡(jiǎn)單的平面文件到關(guān)系數(shù)據(jù)庫(kù)和面向?qū)ο髷?shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)的特征是使用多張表存儲(chǔ)信息。雖然關(guān)系數(shù)據(jù)庫(kù)在設(shè)計(jì)和編程階段需要做更多工作,但它們提高了可靠性和數(shù)據(jù)完整性,抵消不足綽綽有余。此外,關(guān)系數(shù)據(jù)庫(kù)的查找能力更強(qiáng),并且允許并發(fā)操作。  通過(guò)把數(shù)據(jù)庫(kù)納入Web應(yīng)用程序中, PHP生成的數(shù)據(jù)可以從MySQL提?。▍⒁?jiàn)圖0-7)。這進(jìn)一步把站點(diǎn)的內(nèi)容從靜態(tài)(硬編碼)轉(zhuǎn)為靈活,靈活性對(duì)動(dòng)態(tài)Web站點(diǎn)可是至關(guān)重要的。  圖0-7 本書(shū)中大多數(shù)動(dòng)態(tài)Web應(yīng)用程序的工作方式:同時(shí)使用PHP和MySQL  與PHP一樣,MySQL也是一種開(kāi)源應(yīng)用程序,這意味著它可以免費(fèi)使用,甚至可以修改(源代碼可下載得到)。有些情況下需要付費(fèi)獲得MySQL許可證,特別是在銷售或打包使用MySQL產(chǎn)品來(lái)贏利時(shí)則更應(yīng)如此。查看MySQL的許可政策,可以獲取這方面的詳細(xì)信息?! ySQL軟件包含多個(gè)部分,包括MySQL服務(wù)器(mysqld,它運(yùn)行和管理數(shù)據(jù)庫(kù))、MySQL客戶(mysql,它提供了一個(gè)訪問(wèn)服務(wù)器的接口),以及出于維護(hù)等目的而提供的大量實(shí)用程序。PHP對(duì)MySQL的支持一直很好,在PHP的最新版本中,這一點(diǎn)表現(xiàn)得更為突出?! ySQL以處理大型數(shù)據(jù)庫(kù)而著稱,數(shù)據(jù)庫(kù)可以包含60 000張表,以及超過(guò)50億行的記錄。在某些操作系統(tǒng)上,MySQL可以處理容量高達(dá)800萬(wàn)TB的表,在其他操作系統(tǒng)上,一般可以正常地處理4 GB的數(shù)據(jù)。MySQL已被NASA、美國(guó)人口普查局(United States Census Bureau)以及許多其他機(jī)構(gòu)采用?! ≡诰帉懕緯?shū)時(shí),MySQL已經(jīng)推出了版本5.5.13,并且版本5.6和版本6.0正在開(kāi)發(fā)中。因?yàn)椴煌腗ySQL版本有不同的特性,所以要清楚地知道你自己正在使用什么版本就非常重要了。本書(shū)使用的是MySQL 5.1.44和5.5.8,盡管只要使用MySQL 5.0以上版本就應(yīng)該能夠完成本書(shū)中的任何事情?! ∧阈枰裁础 ∫斫獗緯?shū)的示例,你需要以下工具:  Web服務(wù)器應(yīng)用程序(例如,Apache、Abyss或IIS);  PHP;  MySQL;  Web瀏覽器(微軟公司的IE、Mozilla的Firefox、Apple的Safari、Google的Chrome等);  文本編輯器、支持PHP的所見(jiàn)即所得的應(yīng)用程序(Adobe的Dreamweaver就具有這種能力)或者IDE(Intergrated Development Environment,集成開(kāi)發(fā)環(huán)境);  FTP應(yīng)用程序(如果使用遠(yuǎn)程服務(wù)器)。  利用PHP和MySQL開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)的一大優(yōu)點(diǎn)是,無(wú)論什么要求都可以免費(fèi)得到滿足,而不管使用的操作系統(tǒng)是什么!Apache、PHP和MySQL全都是免費(fèi)的,大多數(shù)Web瀏覽器可以免費(fèi)擁有,許多優(yōu)秀的文本編輯器可供免費(fèi)使用?! ”緯?shū)附錄(可以從本書(shū)的支持網(wǎng)站http://www.peachpit.com下載)討論了在Windows和Mac OS X操作系統(tǒng)上的安裝過(guò)程。如果有一臺(tái)計(jì)算機(jī),那么只需下載兩個(gè)產(chǎn)品即可創(chuàng)建動(dòng)態(tài)Web站點(diǎn)(在這種情況下,你的計(jì)算機(jī)同時(shí)代表圖0-4和圖0-5中的客戶端和服務(wù)器)。另外,你還可以以每月幾美元的價(jià)錢購(gòu)買Web虛擬主機(jī)服務(wù),它會(huì)提供支持PHP和MySQL的已經(jīng)在線的環(huán)境?! £P(guān)于本書(shū)  本書(shū)講述了如何利用PHP和MySQL來(lái)開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn),涵蓋了大多數(shù)開(kāi)發(fā)人員可能需要的知識(shí)。為了與Visual QuickPro系列圖書(shū)的格式保持一致,本書(shū)中使用逐步引導(dǎo)、圖文并茂的方式來(lái)討論。其重點(diǎn)依然放在實(shí)戰(zhàn)性很強(qiáng)的示例上,而不像有些書(shū)那樣,老是說(shuō)什么“這些事情你能夠做到但是永遠(yuǎn)也不要去做”。我自己就是一名Web開(kāi)發(fā)人員,書(shū)里寫的都是我會(huì)用到的信息,并且避免了那些對(duì)手邊的任務(wù)來(lái)說(shuō)無(wú)關(guān)緊要的東西。而作為一名老作者,我肯定會(huì)包括讀者想知道的主題和技術(shù)?! ”緯?shū)采用了循序漸進(jìn)的結(jié)構(gòu)。前3章介紹了PHP的基礎(chǔ)知識(shí)(通過(guò)學(xué)習(xí)第2章,你就會(huì)開(kāi)發(fā)你的第一個(gè)動(dòng)態(tài)Web頁(yè)面)。之后,第4~7章介紹了SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言,用于和所有數(shù)據(jù)庫(kù)進(jìn)行交互)和MySQL。它們介紹了SQL和數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)知識(shí),并且特別介紹了MySQL應(yīng)用程序。然后,第8章介紹了調(diào)試和錯(cuò)誤管理,這些是每個(gè)人都需要的信息。第9章專門介紹了如何結(jié)合使用PHP和MySQL,這非常容易做到?! 〉?0~14章講述了更多的應(yīng)用技術(shù),可以充實(shí)你的知識(shí)。特別是,這幾章中反復(fù)介紹了安全方面的內(nèi)容。第15章和第16章是本書(shū)這一版中的全新內(nèi)容,介紹了一些新技術(shù)。最后,本書(shū)包含了專門介紹示例的3章內(nèi)容,其中開(kāi)發(fā)了幾類Web應(yīng)用程序的核心,并穿插了許多說(shuō)明?! ”緯?shū)讀者對(duì)象  本書(shū)讀者面很廣,從初學(xué)者到中級(jí)用戶都可以學(xué)習(xí)本書(shū)??紤]將來(lái)的兼容性問(wèn)題,本書(shū)使用了XHTML,因此讀者必須具有使用XHTML或其前身HTML的豐富經(jīng)驗(yàn)。盡管本書(shū)涵蓋了很多方面,但它沒(méi)有正式講述HTML或Web頁(yè)面設(shè)計(jì)。這些頁(yè)面少量使用了一些CSS,但是這里沒(méi)有講授它。  其次,本書(shū)希望讀者具有以下素質(zhì)之一:  學(xué)習(xí)的動(dòng)力和能力,而不需要被人牽著鼻子走;  熟悉另一種編程語(yǔ)言(具備豐富的JavaScript知識(shí)也足夠了);  對(duì)PHP有一定的了解?! ”緯?shū)涵蓋了PHP和MySQL方方面面的內(nèi)容,講述了開(kāi)發(fā)現(xiàn)實(shí)的Web站點(diǎn)需要知道的一切知識(shí),不過(guò),要特別指出的是,開(kāi)頭幾章以較快的速度介紹了PHP。出于這種原因,我建議在開(kāi)始學(xué)習(xí)新內(nèi)容時(shí),最好具備一些編程經(jīng)驗(yàn)或者好奇和獨(dú)立的精神。如果你發(fā)現(xiàn)有些內(nèi)容講得太快,那么從學(xué)習(xí)我的PHP for the World Wide Web: Visual QuickStart Guide的最新版本 開(kāi)始起步可能更好,其中的行文速度更適中?! W(xué)習(xí)本書(shū)不需要任何數(shù)據(jù)庫(kù)經(jīng)驗(yàn),因?yàn)楸緯?shū)是從最基本的級(jí)別開(kāi)始討論SQL和MySQL的。  這一版本的新增內(nèi)容  本書(shū)的前3個(gè)版本非常受歡迎,我收到了許多肯定的反饋意見(jiàn)(感謝!)。在編寫此新版本時(shí),我希望不僅僅是更新PHP和MySQL最新版本的內(nèi)容,盡管這是全書(shū)的首要考慮事項(xiàng)。你將會(huì)發(fā)現(xiàn)其他新特性:  用新的示例演示讀者迫切需要了解的技術(shù);  另外一些高級(jí)MySQL和SQL示例;  jQuery JavaScript框架使用手冊(cè);  介紹面向?qū)ο缶幊袒A(chǔ)知識(shí)和基本語(yǔ)法;  提升腳本和網(wǎng)頁(yè)安全性的更多信息和示例;  用一整章的篇幅專門介紹如何阻止常見(jiàn)的Web站點(diǎn)濫用和攻擊;  用全新的一章介紹使用多種語(yǔ)言和時(shí)區(qū);  用全新的一章示例介紹創(chuàng)建消息板(也稱論壇);  擴(kuò)展和更新了安裝和配置指導(dǎo);  刪除了過(guò)時(shí)的內(nèi)容(例如,PHP的老版本中使用的特性或者不適用的特性)?! ∵@一版在每一章的末尾新加入“回顧和實(shí)踐”小節(jié)。該小節(jié)的目的是回顧那一章介紹的主要內(nèi)容,給出一些練習(xí),并以所學(xué)內(nèi)容為基礎(chǔ)進(jìn)一步擴(kuò)展相關(guān)知識(shí)?! ?duì)于買過(guò)本書(shū)前幾版的讀者(多謝?。?,我相信這些新特性也會(huì)使這一版本成為你的案頭必備?! ∨c我的其他圖書(shū)的比較  這是我編寫的第四本關(guān)于PHP和/或MySQL主題的圖書(shū),下面按順序列出之前出版的另外3本書(shū):  PHP for the World Wide Web: Visual QuickStart Guide  PHP 5 Advanced for the World Wide Web: Visual QuickPro Guide  MySQL: Visual QuickStart Guide  我希望這份履歷暗示了我具有某種資格來(lái)編寫本書(shū),但是,作為讀者,你該如何選擇呢?當(dāng)然,我非常歡迎你慷慨地購(gòu)買全套書(shū),對(duì)你的這種做法,我會(huì)致以無(wú)盡的謝意,但是,如果你不得不從中選擇一本書(shū)……  PHP for the World Wide Web: Visual QuickStart Guide一書(shū)非常適合作為PHP的初學(xué)者指南。它與本書(shū)有一些重疊,大部分出現(xiàn)在前3章中,但是使用了新的示例,因此讀者并不會(huì)覺(jué)得多余。對(duì)于初學(xué)者,可以在閱讀那本書(shū)后再閱讀本書(shū)。肯定應(yīng)該在閱讀了本書(shū)之后再閱讀PHP 5 Advanced for the World Wide Web: Visual QuickPro Guide一書(shū),因?yàn)樗俣ㄗx者具有相當(dāng)多的知識(shí)并且是在這里介紹的許多內(nèi)容的基礎(chǔ)上編寫的。MySQL: Visual QuickStart Guide一書(shū)重點(diǎn)關(guān)注的幾乎都是MySQL獨(dú)有的內(nèi)容(只有兩章使用了PHP)。  在記住這些后,閱讀“本書(shū)讀者對(duì)象”一節(jié)的內(nèi)容,并看看其中的要求是否適合你自己。如果你根本沒(méi)有任何編程經(jīng)驗(yàn),并且更希望得到更細(xì)致的引導(dǎo),那么我的第一本書(shū)可能更適合你。如果你已經(jīng)對(duì)使用PHP感到得心應(yīng)手,并且想學(xué)習(xí)它的更多高級(jí)功能,可選擇第二本書(shū)。如果你最感興趣的是MySQL,并且不怎么熱衷于學(xué)習(xí)關(guān)于PHP的大量知識(shí),那么可以購(gòu)買第三本書(shū)。  如前所述,如果你想學(xué)習(xí)今天利用PHP和MySQL開(kāi)始開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)所需要知道的一切知識(shí),那么本書(shū)就適合你!它涵蓋了這兩種技術(shù)的最新版本,使用了其他圖書(shū)中以前未討論的技術(shù),并且包含了獨(dú)具特色的示例?! o(wú)論你選擇哪一本書(shū),都要選擇最新版本,或者與你將使用的技術(shù)最匹配的版本?! ∨涮拙W(wǎng)站  我專門為本書(shū)開(kāi)發(fā)了一個(gè)配套網(wǎng)站。 在這里,你將找到本書(shū)中的每一個(gè)腳本、包含冗長(zhǎng)的SQL命令的文本文件以及勘誤表(如果你有關(guān)于命令或腳本方面的問(wèn)題,并且正好在學(xué)習(xí)本書(shū),請(qǐng)檢查勘誤表以確保沒(méi)有印刷錯(cuò)誤)。在該網(wǎng)站上,你還會(huì)發(fā)現(xiàn)有用的Web鏈接以及一個(gè)非常受歡迎的論壇,讀者可以在里面相互問(wèn)問(wèn)題并進(jìn)行解答(我自己解答了其中許多問(wèn)題),等等?! ?wèn)題、評(píng)論或建議  如果你有關(guān)于PHP或MySQL的任何問(wèn)題,應(yīng)該求助于現(xiàn)有的許多網(wǎng)站、郵件列表、新聞組和FAQ倉(cāng)庫(kù)。搜索引擎可以找到幾乎無(wú)限的資源。如果你需要得到即時(shí)解答,這些資源或搜索引擎可以基本滿足你的需要(十有八九已經(jīng)有人遇到并解決了你的問(wèn)題)。  你也可以直接把你的問(wèn)題、評(píng)論和建議發(fā)送給我。你可以使用本書(shū)的相應(yīng)論壇得到最快的答復(fù)(我總是優(yōu)先解答這些問(wèn)題)。如果你更喜歡給我發(fā)送電子郵件,網(wǎng)站上提供了我的聯(lián)系方式。盡管我不能保證會(huì)迅速給出回復(fù),但我會(huì)盡力答復(fù)收到的每封電子郵件?! 〕霭嫔缣崾荆翰榭醋髡週arry Ullman隨附的教學(xué)視頻  可視化快速入門教程(Visual QuickStart Guides)現(xiàn)在更加“直觀”: 由于Visual QuickStart Guides系列書(shū)籍非常暢銷,Peachpit出版社提供了1個(gè)多小時(shí)的任務(wù)試教學(xué)視頻,可以幫助你快速掌握關(guān)鍵的特性和技術(shù)。你可以一邊閱讀書(shū)中的PHP和MySQL腳本,一邊看實(shí)戰(zhàn)視頻。這是一種非常理想的學(xué)習(xí)基礎(chǔ)知識(shí)和新的、更復(fù)雜的特性的方式。請(qǐng)?jiān)L問(wèn)Peachpit網(wǎng)站,你就可以看到一些免費(fèi)的視頻,也可以很方便地購(gòu)買其他視頻。

內(nèi)容概要

  《PHP與MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)(第4版)》采用基于任務(wù)的方法來(lái)講授PHP和MySQL,使用大量圖片指導(dǎo)讀者深入學(xué)習(xí)語(yǔ)言,并向讀者展示了如何構(gòu)造Web站點(diǎn)。用簡(jiǎn)潔、直觀的步驟和講解提供了學(xué)習(xí)任務(wù)和概念的最快方式。通過(guò)《PHP與MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)(第4版)》,讀者可以快速、高效地學(xué)習(xí)PHP和MySQL,并可以立刻成為一位構(gòu)建Web站點(diǎn)的高手!
《PHP與MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)(第4版)》適用于Web應(yīng)用開(kāi)發(fā)人員,適合初、中層次讀者。

作者簡(jiǎn)介

  Larry Ullman
作家、Web和軟件開(kāi)發(fā)人員、培訓(xùn)師、教師、演說(shuō)家和顧問(wèn)。他已經(jīng)著有20多本技術(shù)書(shū)籍。Larry最深受讀者喜愛(ài)的一點(diǎn)在于,他往往可以將晦澀難懂的專業(yè)術(shù)語(yǔ)轉(zhuǎn)換為大家耳熟能詳?shù)淖匀徽Z(yǔ)言。更多信息可訪問(wèn)他的網(wǎng)站:www.LarryUllman.com。

書(shū)籍目錄

第1章 PHP概述 
1.1 基本語(yǔ)法 
1.2 發(fā)送數(shù)據(jù)到Web瀏覽器 
1.3 編寫注釋 
1.4 什么是變量 
1.5 介紹字符串 
1.6 連接字符串 
1.7 數(shù)字介紹 
1.8 常量介紹 
1.9 單引號(hào)與雙引號(hào) 
1.10 基本的調(diào)試步驟 
1.11 回顧和實(shí)踐 
1.11.1 回顧 
1.11.2 實(shí)踐 
第2章 PHP編程 
2.1 創(chuàng)建HTML表單 
2.2 處理HTML表單 
2.3 條件語(yǔ)句和運(yùn)算符 
2.4 驗(yàn)證表單數(shù)據(jù) 
2.5 介紹數(shù)組 
2.5.1 創(chuàng)建數(shù)組 
2.5.2 訪問(wèn)數(shù)組 
2.5.3 多維數(shù)組 
2.5.4 數(shù)組排序 
2.6 for和while循環(huán) 
2.7 回顧和實(shí)踐 
2.7.1 回顧 
2.7.2 實(shí)踐 
第3章 創(chuàng)建動(dòng)態(tài)Web站點(diǎn) 
3.1 包含多個(gè)文件 
3.2 再論處理HTML表單 
3.3 建立黏性表單 
3.4 創(chuàng)建自己的函數(shù) 
3.4.1 創(chuàng)建帶參數(shù)的函數(shù) 
3.4.2 設(shè)置默認(rèn)的參數(shù)值 
3.4.3 從函數(shù)返回值 
3.7 回顧和實(shí)踐 
3.7.1 回顧 
3.7.2 實(shí)踐 
第4章 MySQL簡(jiǎn)介 
4.1 命名數(shù)據(jù)庫(kù)元素 
4.2 選擇列類型 
4.3 選擇其他的列屬性 
4.4 訪問(wèn)MySQL 
4.4.1 使用MySQL客戶端 
4.4.2 使用phpMyAdmin 
4.5 回顧和實(shí)踐 
4.5.1 回顧 
4.5.2 實(shí)踐 
第5章 SQL簡(jiǎn)介 
5.1 創(chuàng)建數(shù)據(jù)庫(kù)和表 
5.2 插入記錄 
5.3 選擇數(shù)據(jù) 
5.4 使用條件語(yǔ)句 
5.5 使用LIKE和NOT LIKE 
5.6 排序查詢結(jié)果 
5.7 限制查詢結(jié)果 
5.8 更新數(shù)據(jù) 
5.9 刪除數(shù)據(jù) 
5.10 使用函數(shù) 
5.10.1 文本函數(shù) 
5.10.2 數(shù)字函數(shù) 
5.10.3 日期和時(shí)間函數(shù) 
5.10.4 格式化日期和時(shí)間 
5.11 回顧和實(shí)踐 
5.11.1 回顧 
5.11.2 實(shí)踐 
第6章 數(shù)據(jù)庫(kù)設(shè)計(jì) 
6.1 規(guī)范化 
6.1.1 鍵 
6.1.2 關(guān)系 
6.1.3 第一范式 
6.1.4 第二范式 
6.1.5 第三范式 
6.1.6 審查設(shè)計(jì) 
6.2 創(chuàng)建索引 
6.3 使用不同的表類型 
6.4 語(yǔ)言和MySQL 
6.5 時(shí)區(qū)和MySQL 
6.6 外鍵約束 
6.7 回顧和實(shí)踐 
6.7.1 回顧 
6.7.2 實(shí)踐 
第7章 高級(jí)SQL和MySQL 
7.1 執(zhí)行聯(lián)結(jié) 
7.1.1 內(nèi)聯(lián)結(jié) 
7.1.2 外聯(lián)結(jié) 
7.1.3 聯(lián)結(jié)三個(gè)或更多表 
7.2 分組選定的結(jié)果 
7.3 高級(jí)選擇 
7.4 執(zhí)行FULLTEXT查找 
7.4.1 創(chuàng)建FULLTEXT索引 
7.4.2 執(zhí)行基本的FULLTEXT查找 
7.4.3 執(zhí)行布爾型FULLTEXT查找 
7.5 查詢優(yōu)化 
7.6 執(zhí)行事務(wù) 
7.7 數(shù)據(jù)庫(kù)加密 
7.8 回顧和實(shí)踐 
7.8.1 回顧 
7.8.2 實(shí)踐 
第8章 錯(cuò)誤處理和調(diào)試 
8.1 錯(cuò)誤類型與基本調(diào)試方法 
8.1.1 基本調(diào)試步驟 
8.1.2 調(diào)試HTML 
8.2 顯示PHP錯(cuò)誤 
8.3 調(diào)整PHP中的錯(cuò)誤報(bào)告 
8.4 創(chuàng)建自定義的錯(cuò)誤處理程序 
8.5 PHP調(diào)試技術(shù) 
8.6 SQL和MySQL調(diào)試技術(shù) 
8.6.1 調(diào)試SQL問(wèn)題 
8.6.2 調(diào)試訪問(wèn)問(wèn)題 
8.7 回顧和實(shí)踐 
8.7.1 回顧 
8.7.2 實(shí)踐 
第9章 使用PHP和MySQL 
9.1 修改模板 
9.2 連接到MySQL 
9.3 執(zhí)行簡(jiǎn)單的查詢 
9.4 檢索查詢結(jié)果 
9.5 確保SQL安全 
9.6 統(tǒng)計(jì)返回的記錄 
9.7 利用PHP更新記錄 
9.8 回顧和實(shí)踐 
9.8.1 回顧 
9.8.2 實(shí)踐 
第10章 常用編程技術(shù) 
10.1 給腳本發(fā)送值 
10.2 使用隱藏的表單輸入框 
10.3 編輯現(xiàn)有的記錄 
10.4 給查詢結(jié)果標(biāo)頁(yè)碼 
10.5 建立可排序的顯示結(jié)果 
10.6 回顧和實(shí)踐 
10.6.1 回顧 
10.6.2 實(shí)踐 
第11章 Web應(yīng)用程序開(kāi)發(fā) 
11.1 發(fā)送電子郵件 
11.2 處理文件上傳 
11.2.1 允許文件上傳 
11.2.2 利用PHP上傳文件 
11.3 PHP和JavaScript 
11.3.1 創(chuàng)建JavaScript文件 
11.3.2 創(chuàng)建PHP腳本 
11.4 理解HTTP頭部 
11.5 日期和時(shí)間函數(shù) 
11.6 回顧和實(shí)踐 
11.6.1 回顧 
11.6.2 實(shí)踐 
第12章 cookie和會(huì)話 
12.1 建立登錄頁(yè)面 
12.2 創(chuàng)建登錄函數(shù) 
12.3 使用cookie 
12.3.1 設(shè)置cookie 
12.3.2 訪問(wèn)cookie 
12.3.3 設(shè)置cookie參數(shù) 
12.3.4 刪除cookie 
12.4 使用會(huì)話 
12.4.1 設(shè)置會(huì)話變量 
12.4.2 訪問(wèn)會(huì)話變量 
12.4.3 刪除會(huì)話變量 
12.5 提高會(huì)話安全性 
12.6 回顧和實(shí)踐 
12.6.1 回顧 
12.6.2 實(shí)踐 
第13章 安全性方法 
13.1 阻止垃圾郵件 
13.2 通過(guò)類型驗(yàn)證數(shù)據(jù) 
13.3 按類型驗(yàn)證文件 
13.4 阻止XSS攻擊 
13.5 使用過(guò)濾器擴(kuò)展 
13.6 預(yù)防SQL注入攻擊 
13.7 回顧和實(shí)踐 
13.7.1 回顧 
13.7.2 實(shí)踐 
第14章 Perl兼容的正則表達(dá)式 
14.1 創(chuàng)建測(cè)試腳本 
14.2 定義簡(jiǎn)單的模式 
14.3 使用量詞 
14.4 使用字符類別 
14.5 查找所有匹配 
14.6 使用修飾符 
14.7 匹配和替換模式 
14.8 回顧和實(shí)踐 
14.8.1 回顧 
14.8.2 實(shí)踐 
第15章 jQuery簡(jiǎn)介 
15.1 jQuery是什么 
15.2 包含jQuery 
15.3 使用jQuery 
15.4 選擇頁(yè)面元素 
15.5 事件處理 
15.6 DOM操作 
15.7 使用Ajax 
15.7.1 創(chuàng)建表單 
15.7.2 創(chuàng)建服務(wù)器端腳本 
15.7.3 處理Ajax請(qǐng)求 
15.7.4 創(chuàng)建JavaScript 
15.8 回顧和實(shí)踐 
15.8.1 回顧 
15.8.2 實(shí)踐 
第16章 面向?qū)ο缶幊倘腴T 
16.1 基礎(chǔ)知識(shí)和語(yǔ)法 
16.1.1 面向?qū)ο蟮幕A(chǔ) 
16.1.2 PHP中的OOP語(yǔ)法 
16.2 使用MySQL 
16.2.1 創(chuàng)建連接 
16.2.2 執(zhí)行簡(jiǎn)單的查詢 
16.2.3 獲取結(jié)果 
16.2.4 預(yù)處理語(yǔ)句 
16.3 DateTime類 
16.4 回顧和實(shí)踐 
16.4.1 回顧 
16.4.2 實(shí)踐 
第17章 示例——論壇 
17.1 建立數(shù)據(jù)庫(kù) 
17.2 編寫模板 
17.3 創(chuàng)建索引頁(yè)面 
17.4 創(chuàng)建論壇頁(yè)面 
17.5 創(chuàng)建論點(diǎn)頁(yè)面 
17.6 發(fā)布消息 
17.6.1 創(chuàng)建表單 
17.6.2 處理表單 
17.7 回顧和實(shí)踐 
17.7.1 回顧 
17.7.2 實(shí)踐 
第18章 示例——用戶注冊(cè) 
18.1 創(chuàng)建模板 
18.2 編寫配置腳本 
18.2.1 建立配置文件 
18.2.2 建立數(shù)據(jù)庫(kù)腳本 
18.3 創(chuàng)建主頁(yè) 
18.4 注冊(cè) 
18.5 激活賬戶 
18.6 登錄和注銷 
18.7 密碼管理 
18.7.1 重置密碼 
18.7.2 更改密碼 
18.8 回顧和實(shí)踐 
18.8.1 回顧 
18.8.2 實(shí)踐 
第19章 示例——電子商務(wù) 
19.1 創(chuàng)建數(shù)據(jù)庫(kù) 
19.2 管理端 
19.2.1 添加藝術(shù)家 
19.2.2 添加印刷品 
19.3 創(chuàng)建公共模板 
19.4 產(chǎn)品目錄 
19.5 購(gòu)物車 
19.5.1 添加項(xiàng)目 
19.5.2 查看購(gòu)物車 
19.6 記錄訂單 
19.7 回顧和實(shí)踐 
19.7.1 回顧 
19.7.2 實(shí)踐

章節(jié)摘錄

 今天的Web用戶期待更吸引人的頁(yè)面——它們會(huì)頻繁更新,并且提供個(gè)性化的體驗(yàn)。在他們看來(lái),Web站點(diǎn)更像是社區(qū),他們將一遍又一遍地回訪。同時(shí),Web站點(diǎn)管理員希望站點(diǎn)更容易更新和維護(hù),他們理解到這是能夠不斷滿足訪問(wèn)者期望的唯一方式。由于如此種種原因,PHP和MySQL變成了創(chuàng)建動(dòng)態(tài)的、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的Web站點(diǎn)的事實(shí)標(biāo)準(zhǔn)。 本書(shū)可以說(shuō)是凝聚了我多年Web開(kāi)發(fā)經(jīng)驗(yàn)和多部Web開(kāi)發(fā)技術(shù)圖書(shū)寫作經(jīng)驗(yàn)的顛峰之作。本書(shū)重點(diǎn)在于以最高效的方式介紹最重要的知識(shí)。它將介紹如何開(kāi)始開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn),并給出了大量示例代碼來(lái)幫助讀者起步。你只需要滿懷熱忱地來(lái)學(xué)習(xí)就行了。 好吧,我們這就開(kāi)始…… 什么是動(dòng)態(tài)Web站點(diǎn) 動(dòng)態(tài)Web站點(diǎn)非常靈活、強(qiáng)大,將其描述為應(yīng)用程序(application)而不僅僅是站點(diǎn)會(huì)更準(zhǔn)確。動(dòng)態(tài)Web站點(diǎn)的特征包括: 能夠?qū)Σ煌膮?shù)做出響應(yīng)(例如,一天中的某個(gè)時(shí)間,或者訪問(wèn)者的Web瀏覽器版本); 具有“記憶”,允許用戶執(zhí)行注冊(cè)、登錄、電子商務(wù)以及類似的過(guò)程; 通常包含HTML表單,使得人們可以執(zhí)行查找、提供反饋等; 通常具有允許管理員管理站點(diǎn)內(nèi)容的界面; 與靜態(tài)創(chuàng)建的站點(diǎn)相比,更易于維護(hù)、升級(jí)和構(gòu)建。 有許多技術(shù)可用于創(chuàng)建動(dòng)態(tài)Web站點(diǎn)。最常用的技術(shù)是ASP.NET、JSP(Java ServerPages)、ColdFusion、Ruby on Rails和PHP。動(dòng)態(tài)Web站點(diǎn)不一定依賴數(shù)據(jù)庫(kù),但是,越來(lái)越多的動(dòng)態(tài)Web站點(diǎn)正在這樣做,何況還有MySQL這樣幾乎可以免費(fèi)使用的數(shù)據(jù)庫(kù)。 什么是PHP PHP最初代表“個(gè)人主頁(yè)”(Personal Home Page),由Rasmus Lerdorf于1994年創(chuàng)建,用于跟蹤訪問(wèn)者對(duì)其在線履歷的訪問(wèn)。隨著實(shí)用性和功能的不斷提高(并且也開(kāi)始用于更專業(yè)的環(huán)境中),它變成了“PHP:Hypertext Preprocessor(PHP:超文本預(yù)處理器)”。 根據(jù)www.php.net(參見(jiàn)圖0-1)上PHP官方站點(diǎn)的說(shuō)法,PHP是“一種廣泛使用的通用腳本語(yǔ)言,特別適用于Web開(kāi)發(fā),并且可以嵌入在HTML中”。這是一個(gè)復(fù)雜但具有描述性的定義,其含義將在后面解釋。 稱PHP“可以嵌入在HTML中”,意味著在標(biāo)準(zhǔn)的HTML頁(yè)面中根據(jù)需要插入一些PHP代碼,就可以得到動(dòng)態(tài)效果。因此PHP很適合網(wǎng)頁(yè)設(shè)計(jì)和制作者使用。 此外,與編譯語(yǔ)言相比,PHP是一種腳本語(yǔ)言:設(shè)計(jì)PHP的目的是用于編寫Web腳本,而不是編寫?yīng)毩⒌膽?yīng)用程序(當(dāng)然,現(xiàn)在多費(fèi)點(diǎn)勁也可以用PHP創(chuàng)建應(yīng)用程序)。PHP腳本只在某個(gè)事件(例如,用戶提交一個(gè)表單或者輸入一個(gè)URL地址)發(fā)生之后才運(yùn)行。  圖0-1 PHP主頁(yè) 我應(yīng)該在這個(gè)定義中添加一些內(nèi)容,指出PHP是一種服務(wù)器端、跨平臺(tái)的技術(shù),這兩個(gè)描述都是重要的。服務(wù)器端是指PHP做的所有事情都發(fā)生在服務(wù)器上。這需要Web服務(wù)器,像Apache或微軟公司的IIS(Internet Information Services,Internet信息服務(wù)),并且必須通過(guò)URL(以http:\/\/開(kāi)始的網(wǎng)址)訪問(wèn)所有PHP腳本。跨平臺(tái)的意思是,PHP可以運(yùn)行在大多數(shù)操作系統(tǒng)上,包括Windows、UNIX(及其許多變體)和Macintosh。更重要的是,對(duì)于在一臺(tái)服務(wù)器上編寫的PHP腳本,通常不用修改或者只做很少的修改即可工作在另一臺(tái)服務(wù)器上。 PHP6發(fā)生了什么? 當(dāng)我撰寫本書(shū)的第3版時(shí),PHP的下一個(gè)主要版本PHP 6已經(jīng)開(kāi)發(fā)了將近一半兒了。考慮到PHP 6可能會(huì)在那一版出版后不久發(fā)布,我就在當(dāng)中加入了一些PHP 6 beta版的內(nèi)容。但不幸的是,PHP 6夭折了。 PHP 6最主要的新特性是將Unicode引入PHP引擎,這意味著PHP 6將可以處理世界上所有的語(yǔ)言字符了。這將使這個(gè)已經(jīng)非常受歡迎的編程語(yǔ)言錦上添花。不幸的是,實(shí)現(xiàn)對(duì)Unicode的支持十分復(fù)雜且難度很大,語(yǔ)言的開(kāi)發(fā)者擱置了PHP 6的開(kāi)發(fā)。然而不是所有的都取消了:PHP6計(jì)劃引入的一些新特性,比如命名空間(面向?qū)ο缶幊痰母拍睿?,就已添加到PHP 5.3版中。 在撰寫這一版時(shí),何時(shí)實(shí)現(xiàn)Unicode支持尚不明朗,PHP 6的正式發(fā)布日期還未可知。我預(yù)感未來(lái)一段時(shí)間內(nèi)PHP將會(huì)沿著版本5的主干漸進(jìn)發(fā)展。 在編寫本書(shū)的時(shí)候,PHP的最新是5.3.6版本,建議讀者使用PHP5.0以上的版本。本書(shū)中要用到的一些函數(shù)和特性需要運(yùn)行在PHP 5.2及以上版本。當(dāng)用到新版本中引入的功能時(shí),我會(huì)為那些仍使用較低版本的讀者提供一些替代解決方案。 如果你仍然還使用著PHP4,強(qiáng)烈建議升級(jí)到更高版本。如果你沒(méi)有這個(gè)計(jì)劃,那么請(qǐng)購(gòu)買本書(shū)的第2版。 更多關(guān)于PHP的信息,PHP核心背后的思想,可以隨時(shí)在PHP.net或者Zend(www.zend.com)上找到。 為什么使用PHP 簡(jiǎn)單地講,在開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)時(shí),與其他可選技術(shù)相比,PHP更好、更快并且更易于學(xué)習(xí)。PHP有優(yōu)秀的性能、與幾乎所有數(shù)據(jù)庫(kù)的緊密集成、穩(wěn)定性、可移植性,以及由于其可擴(kuò)展性而得到的幾乎無(wú)限的特性集。所有這些都是免費(fèi)的(PHP是開(kāi)源技術(shù)),并且非常易于學(xué)習(xí)。在我接觸的語(yǔ)言中,PHP是最佳地結(jié)合了易用性和高級(jí)能力的語(yǔ)言之一,初級(jí)程序員使用它很容易上手,更高級(jí)的程序員可以用它做他們需要的一切事情。 最后,一個(gè)事實(shí)可以證明這一點(diǎn):PHP自從推出以來(lái),其用戶數(shù)量呈指數(shù)級(jí)增長(zhǎng),76%的網(wǎng)站都采用PHP作為其服務(wù)端技術(shù)(參見(jiàn)圖0-2)。在所有受歡迎的編程語(yǔ)言中,PHP排在第5位(參見(jiàn)圖0-3)。  圖0-2 Web Technology Surveys 網(wǎng)站提供的服務(wù)器端技術(shù)調(diào)查表(www.w3techs.com\/technologies\/overview\/programming_language\/all)  圖0-3 Tiobe Index(http:\/\/www.tiobe.com\/index.php\/content\/paperinfo\/tpci\/index.html) 結(jié)合各種因素給出的流行的編程語(yǔ)言排名 當(dāng)然,由于我是PHP圖書(shū)(實(shí)際上市面上有很多本這樣的圖書(shū))的作者,你可能想當(dāng)然地認(rèn)為我的觀點(diǎn)有失公平。盡管我使用JSP、RoR(Ruby on Rails)和ASP.NET不像PHP那樣廣泛,但是也使用它們開(kāi)發(fā)站點(diǎn)。它們都有自己的優(yōu)缺點(diǎn),但是我總是會(huì)返回到PHP這種技術(shù)上來(lái)。你可能聽(tīng)說(shuō)它的性能和擴(kuò)展性不如其他技術(shù),但是Yahoo!、維基百科、Facebook都使用PHP,比這幾個(gè)網(wǎng)站的訪問(wèn)量多的網(wǎng)站可不多啊。 你也可能想知道PHP的安全性如何。但是安全性不在語(yǔ)言本身,而在于使用語(yǔ)言的方式。當(dāng)然,本書(shū)將全面討論所有重要的安全性問(wèn)題的最新內(nèi)容。 PHP如何工作 如前所述,PHP是一種服務(wù)器端語(yǔ)言。這意味著用PHP編寫的代碼將駐留在稱為服務(wù)器的主機(jī)上。服務(wù)器發(fā)送Web頁(yè)面給發(fā)出請(qǐng)求的訪問(wèn)者(你、客戶端和Web瀏覽器)。 當(dāng)訪問(wèn)者訪問(wèn)用PHP編寫的Web站點(diǎn)時(shí),服務(wù)器讀取PHP代碼,然后依據(jù)其腳本指令處理它。在圖0-4所示的示例中,PHP代碼告訴服務(wù)器發(fā)送合適的數(shù)據(jù)(HTML代碼)給Web瀏覽器,Web瀏覽器再把接收到的代碼處理成標(biāo)準(zhǔn)HTML頁(yè)面。  圖0-4 當(dāng)用戶請(qǐng)求Web頁(yè)面時(shí),PHP如何在客戶\/服務(wù)器模型中發(fā)揮作用 這不同于靜態(tài)HTML站點(diǎn)。在靜態(tài)HTML站點(diǎn)中,當(dāng)發(fā)出請(qǐng)求時(shí),服務(wù)器只是把HTML數(shù)據(jù)發(fā)送到Web瀏覽器,而不會(huì)由服務(wù)器端進(jìn)行解釋(參見(jiàn)圖0-5)。由于不需要服務(wù)器端的動(dòng)作,所以可以在Web瀏覽器中運(yùn)行HTML頁(yè)面,而根本不需要使用服務(wù)器。  圖0-5 當(dāng)對(duì)靜態(tài)HTML頁(yè)面發(fā)出請(qǐng)求時(shí)客戶\/服務(wù)器的處理過(guò)程 對(duì)于最終用戶和Web瀏覽器來(lái)說(shuō),home.html和home.php兩者在外觀上并沒(méi)有明顯的區(qū)別,但是,其頁(yè)面內(nèi)容的創(chuàng)建方式卻有著天壤之別。 什么是MySQL MySQL(www.mysql.com,參見(jiàn)圖0-6)是世界上最流行的開(kāi)源數(shù)據(jù)庫(kù)。事實(shí)上,今天MySQL成為了那些昂貴的重量級(jí)數(shù)據(jù)庫(kù)(如Oracle和微軟公司的SQL Server)有力的競(jìng)爭(zhēng)產(chǎn)品。像PHP一樣,MySQL提供了優(yōu)秀的性能、可移植性和可靠性,易于學(xué)習(xí),并且?guī)缀跏敲赓M(fèi)的。  圖0-6 MySQL數(shù)據(jù)庫(kù)應(yīng)用程序的主頁(yè) 發(fā)音指南 雖然只是小節(jié),但我仍要預(yù)先說(shuō)明:MySQL應(yīng)該讀作“My Ess Que Ell”,就像SQL應(yīng)該讀作“Ess Que Ell”一樣。許多人最初都會(huì)對(duì)此產(chǎn)生疑問(wèn),雖然這并不是什么大問(wèn)題,但是,學(xué)會(huì)正確地讀縮寫詞總是好事。 MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,Database Management System)。簡(jiǎn)單地講,數(shù)據(jù)庫(kù)是一些相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)可以是文本、數(shù)字或二進(jìn)制文件,它們由DBMS進(jìn)行存儲(chǔ)和組織。 數(shù)據(jù)庫(kù)有多種類型,從簡(jiǎn)單的平面文件到關(guān)系數(shù)據(jù)庫(kù)和面向?qū)ο髷?shù)據(jù)庫(kù)。關(guān)系數(shù)據(jù)庫(kù)的特征是使用多張表存儲(chǔ)信息。雖然關(guān)系數(shù)據(jù)庫(kù)在設(shè)計(jì)和編程階段需要做更多工作,但它們提高了可靠性和數(shù)據(jù)完整性,抵消不足綽綽有余。此外,關(guān)系數(shù)據(jù)庫(kù)的查找能力更強(qiáng),并且允許并發(fā)操作。 通過(guò)把數(shù)據(jù)庫(kù)納入Web應(yīng)用程序中, PHP生成的數(shù)據(jù)可以從MySQL提取(參見(jiàn)圖0-7)。這進(jìn)一步把站點(diǎn)的內(nèi)容從靜態(tài)(硬編碼)轉(zhuǎn)為靈活,靈活性對(duì)動(dòng)態(tài)Web站點(diǎn)可是至關(guān)重要的。  圖0-7 本書(shū)中大多數(shù)動(dòng)態(tài)Web應(yīng)用程序的工作方式:同時(shí)使用PHP和MySQL 與PHP一樣,MySQL也是一種開(kāi)源應(yīng)用程序,這意味著它可以免費(fèi)使用,甚至可以修改(源代碼可下載得到)。有些情況下需要付費(fèi)獲得MySQL許可證,特別是在銷售或打包使用MySQL產(chǎn)品來(lái)贏利時(shí)則更應(yīng)如此。查看MySQL的許可政策,可以獲取這方面的詳細(xì)信息。 MySQL軟件包含多個(gè)部分,包括MySQL服務(wù)器(mysqld,它運(yùn)行和管理數(shù)據(jù)庫(kù))、MySQL客戶(mysql,它提供了一個(gè)訪問(wèn)服務(wù)器的接口),以及出于維護(hù)等目的而提供的大量實(shí)用程序。PHP對(duì)MySQL的支持一直很好,在PHP的最新版本中,這一點(diǎn)表現(xiàn)得更為突出。 MySQL以處理大型數(shù)據(jù)庫(kù)而著稱,數(shù)據(jù)庫(kù)可以包含60 000張表,以及超過(guò)50億行的記錄。在某些操作系統(tǒng)上,MySQL可以處理容量高達(dá)800萬(wàn)TB的表,在其他操作系統(tǒng)上,一般可以正常地處理4 GB的數(shù)據(jù)。MySQL已被NASA、美國(guó)人口普查局(United States Census Bureau)以及許多其他機(jī)構(gòu)采用。 在編寫本書(shū)時(shí),MySQL已經(jīng)推出了版本5.5.13,并且版本5.6和版本6.0正在開(kāi)發(fā)中。因?yàn)椴煌腗ySQL版本有不同的特性,所以要清楚地知道你自己正在使用什么版本就非常重要了。本書(shū)使用的是MySQL 5.1.44和5.5.8,盡管只要使用MySQL 5.0以上版本就應(yīng)該能夠完成本書(shū)中的任何事情。 你需要什么 要理解本書(shū)的示例,你需要以下工具: Web服務(wù)器應(yīng)用程序(例如,Apache、Abyss或IIS); PHP; MySQL; Web瀏覽器(微軟公司的IE、Mozilla的Firefox、Apple的Safari、Google的Chrome等); 文本編輯器、支持PHP的所見(jiàn)即所得的應(yīng)用程序(Adobe的Dreamweaver就具有這種能力)或者IDE(Intergrated Development Environment,集成開(kāi)發(fā)環(huán)境); FTP應(yīng)用程序(如果使用遠(yuǎn)程服務(wù)器)。 利用PHP和MySQL開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)的一大優(yōu)點(diǎn)是,無(wú)論什么要求都可以免費(fèi)得到滿足,而不管使用的操作系統(tǒng)是什么!Apache、PHP和MySQL全都是免費(fèi)的,大多數(shù)Web瀏覽器可以免費(fèi)擁有,許多優(yōu)秀的文本編輯器可供免費(fèi)使用。 本書(shū)附錄(可以從本書(shū)的支持網(wǎng)站http:\/\/www.peachpit.com下載)討論了在Windows和Mac OS X操作系統(tǒng)上的安裝過(guò)程。如果有一臺(tái)計(jì)算機(jī),那么只需下載兩個(gè)產(chǎn)品即可創(chuàng)建動(dòng)態(tài)Web站點(diǎn)(在這種情況下,你的計(jì)算機(jī)同時(shí)代表圖0-4和圖0-5中的客戶端和服務(wù)器)。另外,你還可以以每月幾美元的價(jià)錢購(gòu)買Web虛擬主機(jī)服務(wù),它會(huì)提供支持PHP和MySQL的已經(jīng)在線的環(huán)境。 關(guān)于本書(shū) 本書(shū)講述了如何利用PHP和MySQL來(lái)開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn),涵蓋了大多數(shù)開(kāi)發(fā)人員可能需要的知識(shí)。為了與Visual QuickPro系列圖書(shū)的格式保持一致,本書(shū)中使用逐步引導(dǎo)、圖文并茂的方式來(lái)討論。其重點(diǎn)依然放在實(shí)戰(zhàn)性很強(qiáng)的示例上,而不像有些書(shū)那樣,老是說(shuō)什么“這些事情你能夠做到但是永遠(yuǎn)也不要去做”。我自己就是一名Web開(kāi)發(fā)人員,書(shū)里寫的都是我會(huì)用到的信息,并且避免了那些對(duì)手邊的任務(wù)來(lái)說(shuō)無(wú)關(guān)緊要的東西。而作為一名老作者,我肯定會(huì)包括讀者想知道的主題和技術(shù)。 本書(shū)采用了循序漸進(jìn)的結(jié)構(gòu)。前3章介紹了PHP的基礎(chǔ)知識(shí)(通過(guò)學(xué)習(xí)第2章,你就會(huì)開(kāi)發(fā)你的第一個(gè)動(dòng)態(tài)Web頁(yè)面)。之后,第4~7章介紹了SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言,用于和所有數(shù)據(jù)庫(kù)進(jìn)行交互)和MySQL。它們介紹了SQL和數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)知識(shí),并且特別介紹了MySQL應(yīng)用程序。然后,第8章介紹了調(diào)試和錯(cuò)誤管理,這些是每個(gè)人都需要的信息。第9章專門介紹了如何結(jié)合使用PHP和MySQL,這非常容易做到。 第10~14章講述了更多的應(yīng)用技術(shù),可以充實(shí)你的知識(shí)。特別是,這幾章中反復(fù)介紹了安全方面的內(nèi)容。第15章和第16章是本書(shū)這一版中的全新內(nèi)容,介紹了一些新技術(shù)。最后,本書(shū)包含了專門介紹示例的3章內(nèi)容,其中開(kāi)發(fā)了幾類Web應(yīng)用程序的核心,并穿插了許多說(shuō)明。 本書(shū)讀者對(duì)象 本書(shū)讀者面很廣,從初學(xué)者到中級(jí)用戶都可以學(xué)習(xí)本書(shū)??紤]將來(lái)的兼容性問(wèn)題,本書(shū)使用了XHTML,因此讀者必須具有使用XHTML或其前身HTML的豐富經(jīng)驗(yàn)。盡管本書(shū)涵蓋了很多方面,但它沒(méi)有正式講述HTML或Web頁(yè)面設(shè)計(jì)。這些頁(yè)面少量使用了一些CSS,但是這里沒(méi)有講授它。 其次,本書(shū)希望讀者具有以下素質(zhì)之一: 學(xué)習(xí)的動(dòng)力和能力,而不需要被人牽著鼻子走; 熟悉另一種編程語(yǔ)言(具備豐富的JavaScript知識(shí)也足夠了); 對(duì)PHP有一定的了解。 本書(shū)涵蓋了PHP和MySQL方方面面的內(nèi)容,講述了開(kāi)發(fā)現(xiàn)實(shí)的Web站點(diǎn)需要知道的一切知識(shí),不過(guò),要特別指出的是,開(kāi)頭幾章以較快的速度介紹了PHP。出于這種原因,我建議在開(kāi)始學(xué)習(xí)新內(nèi)容時(shí),最好具備一些編程經(jīng)驗(yàn)或者好奇和獨(dú)立的精神。如果你發(fā)現(xiàn)有些內(nèi)容講得太快,那么從學(xué)習(xí)我的PHP for the World Wide Web: Visual QuickStart Guide的最新版本開(kāi)始起步可能更好,其中的行文速度更適中。 學(xué)習(xí)本書(shū)不需要任何數(shù)據(jù)庫(kù)經(jīng)驗(yàn),因?yàn)楸緯?shū)是從最基本的級(jí)別開(kāi)始討論SQL和MySQL的。 這一版本的新增內(nèi)容 本書(shū)的前3個(gè)版本非常受歡迎,我收到了許多肯定的反饋意見(jiàn)(感謝?。T诰帉懘诵掳姹緯r(shí),我希望不僅僅是更新PHP和MySQL最新版本的內(nèi)容,盡管這是全書(shū)的首要考慮事項(xiàng)。你將會(huì)發(fā)現(xiàn)其他新特性: 用新的示例演示讀者迫切需要了解的技術(shù); 另外一些高級(jí)MySQL和SQL示例; jQuery JavaScript框架使用手冊(cè); 介紹面向?qū)ο缶幊袒A(chǔ)知識(shí)和基本語(yǔ)法; 提升腳本和網(wǎng)頁(yè)安全性的更多信息和示例; 用一整章的篇幅專門介紹如何阻止常見(jiàn)的Web站點(diǎn)濫用和攻擊; 用全新的一章介紹使用多種語(yǔ)言和時(shí)區(qū); 用全新的一章示例介紹創(chuàng)建消息板(也稱論壇); 擴(kuò)展和更新了安裝和配置指導(dǎo); 刪除了過(guò)時(shí)的內(nèi)容(例如,PHP的老版本中使用的特性或者不適用的特性)。 這一版在每一章的末尾新加入“回顧和實(shí)踐”小節(jié)。該小節(jié)的目的是回顧那一章介紹的主要內(nèi)容,給出一些練習(xí),并以所學(xué)內(nèi)容為基礎(chǔ)進(jìn)一步擴(kuò)展相關(guān)知識(shí)。 對(duì)于買過(guò)本書(shū)前幾版的讀者(多謝?。蚁嘈胚@些新特性也會(huì)使這一版本成為你的案頭必備。 與我的其他圖書(shū)的比較 這是我編寫的第四本關(guān)于PHP和\/或MySQL主題的圖書(shū),下面按順序列出之前出版的另外3本書(shū): PHP for the World Wide Web: Visual QuickStart Guide PHP 5 Advanced for the World Wide Web: Visual QuickPro Guide MySQL: Visual QuickStart Guide 我希望這份履歷暗示了我具有某種資格來(lái)編寫本書(shū),但是,作為讀者,你該如何選擇呢?當(dāng)然,我非常歡迎你慷慨地購(gòu)買全套書(shū),對(duì)你的這種做法,我會(huì)致以無(wú)盡的謝意,但是,如果你不得不從中選擇一本書(shū)…… PHP for the World Wide Web: Visual QuickStart Guide一書(shū)非常適合作為PHP的初學(xué)者指南。它與本書(shū)有一些重疊,大部分出現(xiàn)在前3章中,但是使用了新的示例,因此讀者并不會(huì)覺(jué)得多余。對(duì)于初學(xué)者,可以在閱讀那本書(shū)后再閱讀本書(shū)。肯定應(yīng)該在閱讀了本書(shū)之后再閱讀PHP 5 Advanced for the World Wide Web: Visual QuickPro Guide一書(shū),因?yàn)樗俣ㄗx者具有相當(dāng)多的知識(shí)并且是在這里介紹的許多內(nèi)容的基礎(chǔ)上編寫的。MySQL: Visual QuickStart Guide一書(shū)重點(diǎn)關(guān)注的幾乎都是MySQL獨(dú)有的內(nèi)容(只有兩章使用了PHP)。 在記住這些后,閱讀“本書(shū)讀者對(duì)象”一節(jié)的內(nèi)容,并看看其中的要求是否適合你自己。如果你根本沒(méi)有任何編程經(jīng)驗(yàn),并且更希望得到更細(xì)致的引導(dǎo),那么我的第一本書(shū)可能更適合你。如果你已經(jīng)對(duì)使用PHP感到得心應(yīng)手,并且想學(xué)習(xí)它的更多高級(jí)功能,可選擇第二本書(shū)。如果你最感興趣的是MySQL,并且不怎么熱衷于學(xué)習(xí)關(guān)于PHP的大量知識(shí),那么可以購(gòu)買第三本書(shū)。 如前所述,如果你想學(xué)習(xí)今天利用PHP和MySQL開(kāi)始開(kāi)發(fā)動(dòng)態(tài)Web站點(diǎn)所需要知道的一切知識(shí),那么本書(shū)就適合你!它涵蓋了這兩種技術(shù)的最新版本,使用了其他圖書(shū)中以前未討論的技術(shù),并且包含了獨(dú)具特色的示例。 無(wú)論你選擇哪一本書(shū),都要選擇最新版本,或者與你將使用的技術(shù)最匹配的版本。 配套網(wǎng)站 我專門為本書(shū)開(kāi)發(fā)了一個(gè)配套網(wǎng)站www.LarryUllman.com。在這里,你將找到本書(shū)中的每一個(gè)腳本、包含冗長(zhǎng)的SQL命令的文本文件以及勘誤表(如果你有關(guān)于命令或腳本方面的問(wèn)題,并且正好在學(xué)習(xí)本書(shū),請(qǐng)檢查勘誤表以確保沒(méi)有印刷錯(cuò)誤)。在該網(wǎng)站上,你還會(huì)發(fā)現(xiàn)有用的Web鏈接以及一個(gè)非常受歡迎的論壇,讀者可以在里面相互問(wèn)問(wèn)題并進(jìn)行解答(我自己解答了其中許多問(wèn)題),等等。 問(wèn)題、評(píng)論或建議 如果你有關(guān)于PHP或MySQL的任何問(wèn)題,應(yīng)該求助于現(xiàn)有的許多網(wǎng)站、郵件列表、新聞組和FAQ倉(cāng)庫(kù)。搜索引擎可以找到幾乎無(wú)限的資源。如果你需要得到即時(shí)解答,這些資源或搜索引擎可以基本滿足你的需要(十有八九已經(jīng)有人遇到并解決了你的問(wèn)題)。 你也可以直接把你的問(wèn)題、評(píng)論和建議發(fā)送給我。你可以使用本書(shū)的相應(yīng)論壇得到最快的答復(fù)(我總是優(yōu)先解答這些問(wèn)題)。如果你更喜歡給我發(fā)送電子郵件,網(wǎng)站上提供了我的聯(lián)系方式。盡管我不能保證會(huì)迅速給出回復(fù),但我會(huì)盡力答復(fù)收到的每封電子郵件。 出版社提示:查看作者Larry Ullman隨附的教學(xué)視頻 可視化快速入門教程(Visual QuickStart Guides)現(xiàn)在更加“直觀”: 由于Visual QuickStart Guides系列書(shū)籍非常暢銷,Peachpit出版社提供了1個(gè)多小時(shí)的任務(wù)試教學(xué)視頻,可以幫助你快速掌握關(guān)鍵的特性和技術(shù)。你可以一邊閱讀書(shū)中的PHP和MySQL腳本,一邊看實(shí)戰(zhàn)視頻。這是一種非常理想的學(xué)習(xí)基礎(chǔ)知識(shí)和新的、更復(fù)雜的特性的方式。請(qǐng)?jiān)L問(wèn)Peachpit網(wǎng)站,你就可以看到一些免費(fèi)的視頻,也可以很方便地購(gòu)買其他視頻。  

媒體關(guān)注與評(píng)論

"本書(shū)在我所讀過(guò)的技術(shù)圖書(shū)中首屈一指,不僅內(nèi)容全面,包含基礎(chǔ)到提高的所有必要內(nèi)容,還有幾個(gè)最常見(jiàn)的應(yīng)用,而且闡述通俗易懂,讓初學(xué)者也能很快地開(kāi)發(fā)出高質(zhì)量的Web應(yīng)用程序。"

編輯推薦

本書(shū)是講述PHP和MySQL技術(shù)的暢銷書(shū),以深入淺出、圖文并茂而廣受贊譽(yù)。書(shū)中通過(guò)大量來(lái)自實(shí)戰(zhàn)的例子、屏幕圖和詳細(xì)的解釋,循序漸進(jìn)地涵蓋了開(kāi)發(fā)人員最需要的知識(shí)點(diǎn)。本書(shū)采用基于任務(wù)的方法來(lái)講授PHP和mysql,使用圖形、圖表指導(dǎo)讀者深入學(xué)習(xí)語(yǔ)言,向讀者展示了如何構(gòu)造Web站點(diǎn)

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    PHP與MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā) PDF格式下載


用戶評(píng)論 (總計(jì)11條)

 
 

  •   本人一直對(duì)mysql的了解很少,平時(shí)在做項(xiàng)目的時(shí)候,可愛(ài)的用php語(yǔ)言來(lái)完成數(shù)據(jù)庫(kù)本身就可以完成的功能,這本書(shū)對(duì)那些學(xué)習(xí)mysql的人很有幫助,但是其他的介紹的不是很多。
  •   不錯(cuò) 很細(xì)致很簡(jiǎn)單適合入門使用
  •   內(nèi)容有層次,循序漸進(jìn),也比較實(shí)用,好書(shū)
  •   好評(píng),外國(guó)的書(shū)好好
  •   挺好的書(shū)!介紹的很有邏輯性,內(nèi)容編排很合理,值得擁有。
  •   這書(shū)還是挺靠譜的。基本上看得懂,并且,容易理解。內(nèi)容也相當(dāng)多。
  •   挺好的一本書(shū),就是送貨太慢了。
  •   內(nèi)容較廣,但PHP講得不深
  •   PHP和MYSQL都點(diǎn)到為止,比較雞肋。
  •   個(gè)人覺(jué)的上面那位仁兄說(shuō)的一點(diǎn)都不錯(cuò),確實(shí)是一本不只是將PHP和MYSQL點(diǎn)到為止的書(shū),對(duì)于這本書(shū)我覺(jué)的大家還是不要買了。
  •   應(yīng)附帶光盤,要不然很難看懂
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7