PHP與MySQL5程式設計

PHP與MySQL5程式設計

《PHP與MySQL5程式設計》全面介紹PHP腳本語言和MySQL資料庫這兩種目前最流行的開源軟體,主要內容包括PHP和MySQL基本概念、PHP擴展與套用庫、日期等。

基本信息

PHP與MySQL5程式設計

編輯推薦

《圖靈程式設計叢書·Web開發系列·PHP與MySQL5程式設計(第2版)》是久負盛名的經典著作,以涵蓋全面詳實而著稱,對主題的選取和組織從實用出發,在講述知識之外還加入了作者自己的套用經驗,並提供了密集的實戰代碼示例,充分體現了作者深厚的開發功力。書中對PHP的介紹是迄今為止最為全面的,除了基礎知識外,還強調了PHP的面向對象特性、錯誤和異常處理、安全編程等方面,並講述了其他圖書很少涉及而實踐中卻非常重要的日期與時間、正則表達式、檔案與作業系統、檔案上傳、PEAR庫、Smarty模板、SQLite、PDO等技術。而對MySQL的闡述則圍繞動態Web站點的開發展開,透徹而又精到。

《圖靈程式設計叢書·Web開發系列·PHP與MySQL5程式設計(第2版)》不僅適合新手快速入門提高,也是有經驗程式設計師必備的參考書。

最好的編程圖書應該不是純粹地講述理論,而是要切合實際。如果你希望獲得PHP程式語言和MySQL資料庫伺服器的實踐經驗,對它們有全面的了解,並且想知道如何結合這些卓越的技術創建資料庫驅動的動態Web應用程式,那么《圖靈程式設計叢書·Web開發系列·PHP與MySQL5程式設計(第2版)》正合你所需。在《圖靈程式設計叢書·Web開發系列·PHP與MySQL5程式設計(第2版)》第一版出版後的18個月中,PHP和MySQL社區依舊持續“狂熱”地工作著,使得這兩項卓越技術又有了顯著的發展。因此,這一版增加了很多新內容,篇幅也增加了100多頁。

作者簡介

W.Jason Gilmore,世界知名的PHP開發人員,曾開發了大量PHP和MySQL應用程式,並在各大專業媒體發表了眾多膾炙人口的文章。目前,Jason在開發之餘,還負責著Apress出版公司的開源圖書出版項目。

目錄

32.1.3在事件後採取行動568

32.1.4前觸發器和後觸發器569

32.2MySQL對觸發器的支持569

32.2.1創建觸發器570

32.2.2查看現有的觸發器571

32.2.3修改觸發器572

32.2.4刪除觸發器572

32.2.5級聯觸發器573

32.3將觸發器集成到Web應用程式574

32.4小結575

第33章視圖576

33.1視圖概述576

33.2MySQL對視圖的支持577

33.2.1創建和執行視圖577

33.2.2查看視圖信息581

33.2.3修改視圖582

33.2.4刪除視圖583

33.2.5更新視圖583

33.3將視圖結合到Web應用程式中583

33.4小結585

第34章實用資料庫查詢586

34.1示例數據586

34.2用PEAR創建表格輸出587

34.2.1安裝HTML_Table587

34.2.2創建一個簡單表587

34.2.3創建更可讀的行輸出589

34.2.4根據資料庫數據創建表格589

34.2.5一般化輸出過程591

34.3排序輸出593

34.4創建分頁輸出594

34.5列出頁碼597

34.6子查詢598

34.6.1用子查詢完成比較599

34.6.2用子查詢確定存在性599

34.6.3用子查詢維護資料庫600

34.6.4在PHP中使用子查詢601

34.7游標601

34.7.1游標基礎601

34.7.2創建游標602

34.7.3打開游標602

34.7.4使用游標602

34.7.5關閉游標603

34.7.6在PHP中使用游標604

34.8小結604

第35章索引和搜尋605

35.1資料庫索引605

35.1.1主鍵索引605

35.1.2唯一索引606

35.1.3常規索引607

35.1.4全文索引608

35.1.5索引最佳實踐611

35.2基於表單的搜尋611

35.2.1執行簡單搜尋612

35.2.2擴展搜尋功能613

35.2.3執行全文搜尋614

35.3小結615

第36章事務616

36.1什麼是事務616

36.2MySQL的事務功能616

36.2.1系統需求617

36.2.2表創建617

36.2.3innodb配置參數618

36.3示例項目619

36.3.1示例數據620

36.3.2執行示例事務620

36.3.3備份和恢復InnoDB表622

36.3.4用法提示622

36.4用PHP構建事務應用程式622

36.5小結624

第37章導入和導出數據625

37.1示例表625

37.2獲得合適的媒介625

37.3導出數據626

37.4導入數據628

37.4.1利用LOADDATAINFILE導入數據628

37.4.2用MySQLimport導入631

37.4.3用PHP載入表數據633

37.5小結634

索引(圖靈網站下載)

第1章PHP概述1

1.1歷史1

1.1.1PHP42

1.1.2PHP53

1.2PHP的一般特性3

1.2.1實用性3

1.2.2強大功能4

1.2.3可選擇性4

1.2.4成本5

1.3小結5

第2章安裝配置Apache和PHP6

2.1安裝6

2.1.1獲得發行包6

2.1.2安裝過程7

2.1.3測試安裝11

2.1.4定製UNIX構建12

2.1.5定製Windows構建12

2.1.6常見錯誤13

2.1.7查看並下載文檔13

2.2配置13

2.2.1管理PHP的配置指令14

2.2.2PHP的配置指令15

2.3小結29

第3章PHP基礎30

3.1界定PHP代碼30

3.1.1默認語法30

3.1.2短標記31

3.1.3腳本31

3.1.4ASP風格32

3.1.5嵌入多個代碼塊32

3.2注釋32

3.2.1單行C++語法32

3.2.2Shell語法32

3.2.3多行C語法33

3.3輸出33

3.3.1print()33

3.3.2echo()34

3.3.3printf()34

3.3.4sprintf()35

3.4數據類型35

3.4.1標量數據類型35

3.4.2複合數據類型37

3.4.3特殊數據類型38

3.4.4類型強制轉換38

3.4.5類型自動轉換39

3.4.6與類型有關的函式40

3.4.7類型標識符函式40

3.5標識符41

3.6變數41

3.6.1變數聲明42

3.6.2變數作用域43

3.6.3PHP的超級全局變數45

3.6.4變數的變數48

3.7常量49

3.8表達式49

3.8.1運算元50

3.8.2操作符50

3.9字元串插入54

3.9.1雙引號55

3.9.2單引號55

3.9.3Heredoc56

3.10控制結構56

3.10.1執行控制語句57

3.10.2條件語句57

3.10.3循環語句59

3.10.4檔案包含語句63

3.10.5require_once()65

3.11小結65

第4章函式66

4.1調用函式66

4.2創建函式66

4.2.1按值傳遞參數67

4.2.2按引用傳遞參數68

4.2.3默認參數值68

4.2.4可選參數68

4.2.5從函式返回值69

4.2.6嵌套函式70

4.2.7遞歸函式70

4.2.8變數函式72

4.3函式館73

4.4小結74

第5章數組75

5.1什麼是數組75

5.2輸出數組76

5.3創建數組77

5.4測試數組79

5.5增加和刪除數組元素79

5.6定位數組元素81

5.7遍歷數組82

5.8確定數組大小和唯一性85

5.9數組排序86

5.10合併、拆分、接合和分解數組91

5.11其他有用的數組函式95

5.12小結96

第6章面向對象的PHP97

6.1OOP的好處97

6.1.1封裝97

6.1.2繼承98

6.1.3多態98

6.2關鍵的OOP概念99

6.2.1類99

6.2.2對象99

6.2.3欄位100

6.2.4屬性102

6.2.5常量104

6.2.6方法105

6.3類型提示108

6.4構造函式和析構函式108

6.4.1構造函式108

6.4.2析構函式110

6.5靜態類成員111

6.6instanceof關鍵字112

6.7輔助函式112

6.8自動載入對象114

6.9小結114

第7章高級OOP特性115

7.1PHP不支持的高級OOP特性115

7.2對象克隆116

7.2.1克隆示例116

7.2.2__clone()方法117

7.3繼承118

7.3.1類繼承118

7.3.2繼承和構造函式120

7.4接口121

7.4.1實現一個接口122

7.4.2實現多個接口123

7.5抽象類124

7.6反射124

7.6.1編寫ReflectionClass類125

7.6.2編寫ReflectionMethod類127

7.6.3編寫ReflectionParameter類128

7.6.4編寫ReflectionProperty類129

7.6.5反射的其他用途130

7.7小結130

第8章錯誤和異常處理131

8.1配置指令131

8.2錯誤日誌134

8.3異常處理135

8.3.1為什麼異常處理很方便136

8.3.2PHP的異常處理實現137

8.4小結140

第9章字元串和正則表達式141

9.1複雜(大括弧)偏移語法141

9.2正則表達式142

9.2.1正則表達式語法(POSIX)142

9.2.2PHP的正則表達式函式(POSIX擴展)144

9.2.3正則表達式語法(Perl風格)146

9.3其他字元串函式151

9.3.1確定字元串長度152

9.3.2比較兩個字元串152

9.3.3處理字元串大小寫154

9.3.4字元串與HTML相互轉換155

9.3.5正則表達式函式的替代函式159

9.3.6填充和剔除字元串164

9.3.7字元和單詞計數165

9.4使用PEAR:Validate_US167

9.4.1安裝Validate_US167

9.4.2使用Validate_US168

9.5小結168

第10章處理檔案和作業系統169

10.1了解檔案和目錄169

10.1.1解析目錄路徑169

10.1.2檔案類型和連結171

10.1.3計算檔案、目錄和磁碟大小173

10.1.4訪問和修改時間175

10.2檔案所有權和許可權176

10.3檔案I/O178

10.3.1資源的概念178

10.3.2換行178

10.3.3檔案末尾178

10.3.4打開和關閉檔案179

10.3.5讀取檔案180

10.3.6移動檔案指針184

10.3.7寫入檔案184

10.3.8讀取目錄內容185

10.4執行Shell命令186

10.5系統級程式執行187

10.5.1清理輸入187

10.5.2PHP的程式執行函式188

10.6小結190

第11章PEAR191

11.1流行的PEAR包191

11.2安裝和更新PEAR193

11.2.1安裝PEAR193

11.2.2PEAR和ISP公司194

11.2.3更新PEAR194

11.3使用PEAR包管理器194

11.3.1查看安裝的包195

11.3.2了解安裝包的更多信息195

11.3.3安裝PEAR包196

11.3.4使用PEAR包197

11.3.5升級PEAR包198

11.3.6卸載PEAR包198

11.3.7降級PEAR包199

11.4小結199

第12章日期和時間200

12.1UNIX時間戳200

12.2PHP的日期和時間庫200

12.3日期函式206

12.3.1顯示本地化的日期和時間206

12.3.2顯示網頁的最新修改日期209

12.3.3確定當前月份中的天數209

12.3.4計算當前日期後X天的日期209

12.3.5創建日曆210

12.4PHP5.1213

12.4.1Date基礎213

12.4.2Date構造函式213

12.4.3訪問方法和修改方法214

12.4.4驗證函式216

12.4.5處理方法216

12.5小結222

第13章表單和導航提示223

13.1PHP和Web表單223

13.1.1簡單示例224

13.1.2向函式傳遞表單數據225

13.1.3處理多值表單組件226

13.1.4用PHP生成表單227

13.1.5自動選擇表單數據228

13.1.6PHP、Web表單和JavaScript229

13.2導航提示231

13.2.1用戶友好的URL231

13.2.2“麵包屑型”軌跡233

13.2.3創建定製錯誤處理函式237

13.3小結238

第14章身份認證239

14.1HTTP認證概念239

14.2PHP認證240

14.2.1認證變數240

14.2.2認證方法241

14.3用戶登錄管理248

14.3.1密碼指派248

14.3.2使用CrackLib庫測試密碼易猜性250

14.3.3一次性URL和密碼恢復251

第15章處理檔案上傳254

15.1通過HTTP協定上傳檔案254

15.2通過PHP處理上傳255

15.2.1PHP的檔案上傳/資源指令255

15.2.2$_FILES數組256

15.2.3PHP的檔案上傳函式256

15.2.4上傳錯誤訊息258

15.2.5檔案上傳示例258

15.3利用PEAR:HTTP_Upload261

15.3.1安裝HTTP_Upload261

15.3.2了解關於上傳檔案的更多信息262

15.3.3將上傳的檔案移動到最終目標263

15.3.4上傳多個檔案263

15.4小結264

第16章網路265

16.1DNS、伺服器和服務265

16.1.1DNS265

16.1.2服務268

16.1.3建立套接字連線269

16.2郵件271

16.2.1配置指令271

16.2.2傳送純文本電子郵件272

16.2.3使用額外的信息首部傳送電子郵件272

16.2.4將電子郵件傳送給多個接收者273

16.2.5傳送HTML格式的電子郵件273

16.2.6傳送附屬檔案274

16.3IMAP、POP3和NNTP275

16.3.1需求276

16.3.2建立和關閉連線276

16.3.3了解更多關於信箱和郵件的信息277

16.3.4獲取郵件280

16.3.5寫郵件286

16.3.6傳送郵件286

16.3.7信箱管理287

16.3.8郵件管理288

16.4流288

16.4.1流包裝器和上下文289

16.4.2流過濾器290

16.5常見網路任務291

16.5.1連線一台伺服器291

16.5.2連線埠掃描器292

16.5.3子網轉換器293

16.5.4測試用戶頻寬294

16.6小結295

第17章PHP和LDAP296

17.1LDAP介紹297

17.2在PHP中使用LDAP297

17.2.1連線到LDAP伺服器297

17.2.2綁定到LDAP伺服器298

17.2.3關閉LDAP伺服器連線299

17.2.4獲取LDAP數據299

17.2.5處理項值301

17.2.6統計所獲取的項302

17.2.7獲取屬性302

17.2.8排序和比較LDAP項305

17.2.9處理項306

17.2.10回收記憶體308

17.2.11插入LDAP數據309

17.2.12更新LDAP數據309

17.2.13刪除LDAP數據310

17.2.14配置函式311

17.2.15字元編碼312

17.2.16處理區分名312

17.2.17錯誤處理313

17.3小結314

第18章會話處理器315

18.1什麼是會話處理315

18.1.1cookie315

18.1.2URL重寫316

18.1.3會話處理過程316

18.2配置指令317

18.3關鍵概念320

18.3.1開始會話320

18.3.2銷毀會話321

18.3.3獲取和設定會話ID321

18.3.4創建和刪除會話變數321

18.3.5編碼和解碼會話數據322

18.4實際的會話處理示例324

18.4.1自動登錄324

18.4.2最近瀏覽的文檔索引325

18.5創建定製會話處理器327

18.5.1將定製會話函式加入到PHP邏輯327

18.5.2基於MySQL的定製會話處理器328

18.6小結330

第19章用Smarty模板化331

19.1什麼是模板化引擎331

19.2Smarty介紹333

19.3安裝Smarty333

19.4使用Smarty334

19.5Smarty的表現邏輯336

19.5.1注釋336

19.5.2變數修飾符336

19.5.3控制結構339

19.5.4語句342

19.6創建配置檔案344

19.6.1config_load345

19.6.2引用配置變數345

19.7結合Smarty使用CSS346

19.8快取347

19.8.1處理快取生命期347

19.8.2通過is_cached()消除處理開銷348

19.8.3為每個模板創建多個快取348

19.8.4關於快取的結束語349

19.9小結350

第20章Web服務351

20.1為什麼使用Web服務352

20.2真正簡單聚合353

20.2.1RSS語法355

20.2.2MagpieRSS356

20.3SimpleXML361

20.3.1SimpleXML函式362

20.3.2SimpleXML方法363

20.4SOAP365

20.4.1NuSOAP366

20.4.2PHP5的SOAP擴展374

20.5使用PHPWeb服務和C#客戶381

20.6小結383

第21章安全PHP編程384

21.1安全地配置PHP384

21.1.1安全模式385

21.1.2其他與安全有關的配置參數386

21.2隱藏配置細節388

21.3隱藏敏感數據389

21.3.1注意文檔根目錄390

21.3.2拒絕訪問某些檔案擴展名390

21.4清理用戶數據390

21.4.1檔案刪除390

21.4.2跨網站腳本391

21.4.3清理用戶輸入:解決方案392

21.5數據加密394

21.5.1PHP的加密函式394

21.5.2mhash395

21.5.3MCrypt396

21.6小結397

第22章SQLite398

22.1SQLite介紹398

22.1.1安裝SQLite398

22.1.2使用SQLite命令行界面399

22.2PHP的SQLite庫400

22.2.1SQLite指令400

22.2.2打開連線400

22.2.3在記憶體中創建表401

22.2.4關閉連線401

22.2.5查詢資料庫402

22.2.6解析結果集403

22.2.7獲取結果集細節405

22.2.8操作結果集指針406

22.2.9了解表模式的更多信息408

22.2.10操作二進制數據408

22.2.11創建和覆蓋SQLite函式409

22.2.12創建聚集函式410

22.3小結411

第23章PDO介紹412

23.1為什麼還要另一種資料庫抽象層413

23.2使用PDO413

23.2.1安裝PDO414

23.2.2PDO的資料庫支持414

23.2.3連線到資料庫伺服器並選擇資料庫415

23.2.4存取屬性416

23.2.5錯誤處理417

23.2.6查詢執行417

23.2.7準備語句418

23.2.8獲取數據421

23.2.9設定綁定列423

23.2.10事務424

23.3小結425

第24章MySQL介紹426

24.1MySQL為什麼如此流行426

24.1.1靈活性426

24.1.2強大功能427

24.1.3靈活的許可選擇428

24.1.4超級活躍的用戶群體429

24.2MySQL4429

24.3MySQL5430

24.4著名的MySQL用戶430

24.4.1craigslist430

24.4.2雅虎財經431

24.4.3維基百科431

24.5小結431

第25章安裝和配置MySQL432

25.1PHP和MySQL許可問題432

25.1.1Linux433

25.1.2Windows433

25.2下載MySQL433

25.3安裝MySQL434

25.3.1Linux434

25.3.2Windows437

25.4設定MySQL管理員密碼439

25.5啟動和停止MySQL439

25.5.1手工控制守護進程439

25.5.2自動啟動和停止MySQL441

25.6配置和最佳化MySQL442

25.6.1mysqld_safe443

25.6.2配置和最佳化參數443

25.6.3my.cnf檔案446

25.7小結448

第26章眾多MySQL客戶端449

26.1標準客戶端選項449

26.2連線選項450

26.3一般選項450

26.4mysql451

26.4.1關鍵mysql選項451

26.4.2以互動模式使用mysql452

26.4.3查看配置變數和系統狀態454

26.4.4以批處理模式使用mysql455

26.4.5有用的mysql提示456

26.5mysqladmin458

26.6其他實用工具459

26.6.1mysqldump459

26.6.2mysqlshow459

26.6.3mysqlhotcopy460

26.6.4mysqlimport460

26.6.5myisamchk461

26.6.6mysqlcheck461

26.7第三方客戶端程式462

26.7.1MySQL管理器462

26.7.2phpMyAdmin463

26.7.3MySQL查詢瀏覽器464

26.7.4Navicat465

26.8小結466

第27章MySQL存儲引擎和數據類型467

27.1存儲引擎467

27.1.1InnoDB468

27.1.2MyISAM468

27.1.3MEMORY470

27.1.4MERGE471

27.1.5BDB471

27.1.6FEDERATED471

27.1.7ARCHIVE472

27.1.8CSV473

27.1.9EXAMPLE473

27.1.10BLACKHOLE473

27.1.11存儲引擎FAQ473

27.2數據類型和屬性475

27.2.1數據類型475

27.2.2數據類型屬性479

27.3運算元據庫和表481

27.3.1運算元據庫481

27.3.2操作表483

27.3.3修改表結構485

27.3.4INFORMATION_SCHEMA485

27.4小結487

第28章保護MySQL的安全488

28.1首先應當做什麼488

28.2保護mysqld守護進程489

28.3MySQL訪問許可權系統489

28.3.1許可權系統的工作方式490

28.3.2訪問信息存儲在哪裡491

28.4用戶和許可權管理498

28.4.1CREATEUSER498

28.4.2DROPUSER499

28.4.3RENAMEUSER499

28.4.4GRANT和REVOKE命令499

28.4.5查看許可權503

28.5限制用戶資源503

28.6保護MySQL連線504

28.6.1授權選項504

28.6.2SSL選項505

28.6.3啟動啟用SSL的MySQL伺服器506

28.6.4使用啟用SSL的客戶端進行連線506

28.6.5在my.cnf檔案中存儲SSL選項506

28.7小結507

第29章PHP的MySQL擴展508

29.1預備工作508

29.1.1在Linux中啟用MySQL擴展508

29.1.2在Windows中啟用MySQL擴展508

29.1.3用戶許可權509

29.1.4示例數據509

29.2PHP的MySQL命令509

29.2.1建立和關閉連線509

29.2.2在單獨的檔案中存儲連線信息511

29.2.3保護連線信息511

29.3選擇資料庫512

29.4查詢MySQL512

29.5獲取和顯示數據513

29.6插入數據516

29.7修改數據517

29.8刪除數據519

29.9所選擇的記錄和受影響的記錄520

29.10獲取資料庫和表的信息521

29.11獲取欄位信息523

29.11.1查看錶屬性526

29.11.2獲取錯誤信息527

29.12輔助函式528

29.13小結530

第30章PHP的mysqli擴展531

30.1預備工作532

30.1.1在UNIX中啟用mysqli擴展532

30.1.2在Windows中啟用mysqli擴展532

30.1.3示例數據532

30.2使用mysqli擴展532

30.2.1連線MySQL伺服器532

30.2.2連線錯誤報告533

30.2.3選擇一個MySQL資料庫535

30.2.4關閉MySQL連線536

30.3查詢536

30.3.1查詢執行536

30.3.2回收查詢記憶體537

30.3.3準備結果集538

30.3.4解析結果539

30.3.5多個查詢542

30.3.6準備語句543

30.4資料庫事務548

30.5小結549

第31章存儲例程550

31.1應當使用存儲例程嗎550

31.1.1存儲例程的優點550

31.1.2存儲例程的缺點551

31.2MySQL如何實現存儲例程551

31.2.1存儲例程許可權表551

31.2.2創建存儲例程553

31.2.3聲明和設定變數554

31.2.4執行存儲例程555

31.2.5多語句存儲例程556

31.2.6從另一個例程中調用例程562

31.2.7修改存儲例程563

31.2.8刪除存儲例程563

31.2.9查看例程狀態563

31.2.10查看例程的創建語法564

31.2.11條件和處理器564

31.3將例程集成到Web應用程式565

31.3.1創建員工獎金界面565

31.3.2獲取多條記錄566

31.4小結566

第32章MySQL觸發器567

32.1介紹觸發器567

32.1.1為什麼使用觸發器567

32.1.2在事件前採取行動568

相關詞條

相關搜尋

熱門詞條

聯絡我們