《PHP與MySQL 5程式設計》是2007年人民郵電出版社出版的圖書,作者是W.Jason Gilmore。
基本介紹
- 書名:PHP與MySQL 5程式設計
- 作者:W.Jason Gilmore
- 譯者:朱濤江
- ISBN:9787115155092
- 頁數:634
- 定價:79
- 出版社:人民郵電出版社
- 出版時間:2007年01月
- 叢書:圖靈程式設計叢書
內容介紹
目錄
1.1 歷史 1
1.1.1 php 4 2
1.1.2 php 5 3
1.2 php的一般特性 3
1.2.1 實用性 3
1.2.2 強大功能 4
1.2.3 可選擇性 4
1.2.4 成本 5
1.3 小結 5
第2章 安裝配置apache和php 6
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.2 php的配置指令 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.4 asp風格 32
3.1.5 嵌入多個代碼塊 32
3.2 注釋 32
3.2.1 單行c++語法 32
3.2.2 shell語法 32
3.2.3 多行c語法 33
3.3 輸出 33
3.3.1 print() 33
3.3.2 echo() 34
3.3.3 printf() 34
3.3.4 sprintf() 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.3 php的超級全局變數 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.3 heredoc 56
3.10 控制結構 56
3.10.1 執行控制語句 57
3.10.2 條件語句 57
3.10.3 循環語句 59
3.10.4 檔案包含語句 63
3.10.5 require_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章 面向對象的php 97
6.1 oop的好處 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.6 instanceof關鍵字 112
6.7 輔助函式 112
6.8 自動載入對象 114
6.9 小結 114
第7章 高級oop特性 115
7.1 php不支持的高級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.2 php的異常處理實現 137
8.4 小結 140
第9章 字元串和正則表達式 141
9.1 複雜(大括弧)偏移語法 141
9.2 正則表達式 142
9.2.1 正則表達式語法(posix) 142
9.2.2 php的正則表達式函式
(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_us 167
9.4.1 安裝validate_us 167
9.4.2 使用validate_us 168
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/o 178
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.2 php的程式執行函式 188
10.6 小結 190
第11章 pear 191
11.1 流行的pear包 191
11.2 安裝和更新pear 193
11.2.1 安裝pear 193
11.2.2 pear和isp公司 194
11.2.3 更新pear 194
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.1 unix時間戳 200
12.2 php的日期和時間庫 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.4 php 5.1 213
12.4.1 date基礎 213
12.4.2 date構造函式 213
12.4.3 訪問方法和修改方法 214
12.4.4 驗證函式 216
12.4.5 處理方法 216
12.5 小結 222
第13章 表單和導航提示 223
13.1 php和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.6 php、web表單和
javascript 229
13.2 導航提示 231
13.2.1 用戶友好的url 231
13.2.2 “麵包屑型”軌跡 233
13.2.3 創建定製錯誤處理函式 237
13.3 小結 238
第14章 身份認證 239
14.1 http認證概念 239
14.2 php認證 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.1 php的檔案上傳/資源指令 255
15.2.2 $_files數組 256
15.2.3 php的檔案上傳函式 256
15.2.4 上傳錯誤訊息 258
15.2.5 檔案上傳示例 258
15.3 利用pear:http_upload 261
15.3.1 安裝http_upload 261
15.3.2 了解關於上傳檔案的更多
信息 262
15.3.3 將上傳的檔案移動到最終
目標 263
15.3.4 上傳多個檔案 263
15.4 小結 264
第16章 網路 265
16.1 dns、伺服器和服務 265
16.1.1 dns 265
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.3 imap、pop3和nntp 275
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和ldap 296
17.1 ldap介紹 297
17.2 在php中使用ldap 297
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.1 cookie 315
18.1.2 url重寫 316
18.1.3 會話處理過程 316
18.2 配置指令 317
18.3 關鍵概念 320
18.3.1 開始會話 320
18.3.2 銷毀會話 321
18.3.3 獲取和設定會話id 321
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.2 smarty介紹 333
19.3 安裝smarty 333
19.4 使用smarty 334
19.5 smarty的表現邏輯 336
19.5.1 注釋 336
19.5.2 變數修飾符 336
19.5.3 控制結構 339
19.5.4 語句 342
19.6 創建配置檔案 344
19.6.1 config_load 345
19.6.2 引用配置變數 345
19.7 結合smarty使用css 346
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.1 rss語法 355
20.2.2 magpierss 356
20.3 simplexml 361
20.3.1 simplexml函式 362
20.3.2 simplexml方法 363
20.4 soap 365
20.4.1 nusoap 366
20.4.2 php 5的soap擴展 374
20.5 使用php web服務和c#客戶 381
20.6 小結 383
第21章 安全php編程 384
21.1 安全地配置php 384
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.1 php的加密函式 394
21.5.2 mhash 395
21.5.3 mcrypt 396
21.6 小結 397
第22章 sqlite 398
22.1 sqlite介紹 398
22.1.1 安裝sqlite 398
22.1.2 使用sqlite命令行界面 399
22.2 php的sqlite庫 400
22.2.1 sqlite指令 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 使用pdo 413
23.2.1 安裝pdo 414
23.2.2 pdo的資料庫支持 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.1 mysql為什麼如此流行 426
24.1.1 靈活性 426
24.1.2 強大功能 427
24.1.3 靈活的許可選擇 428
24.1.4 超級活躍的用戶群體 429
24.2 mysql 4 429
24.3 mysql 5 430
24.4 著名的mysql用戶 430
24.4.1 craigslist 430
24.4.2 雅虎財經 431
24.4.3 維基百科 431
24.5 小結 431
第25章 安裝和配置mysql 432
25.1 php和mysql許可問題 432
25.1.1 linux 433
25.1.2 windows 433
25.2 下載mysql 433
25.3 安裝mysql 434
25.3.1 linux 434
25.3.2 windows 437
25.4 設定mysql管理員密碼 439
25.5 啟動和停止mysql 439
25.5.1 手工控制守護進程 439
25.5.2 自動啟動和停止mysql 441
25.6 配置和最佳化mysql 442
25.6.1 mysqld_safe 443
25.6.2 配置和最佳化參數 443
25.6.3 my.cnf檔案 446
25.7 小結 448
第26章 眾多mysql客戶端 449
26.1 標準客戶端選項 449
26.2 連線選項 450
26.3 一般選項 450
26.4 mysql 451
26.4.1 關鍵mysql選項 451
26.4.2 以互動模式使用mysql 452
26.4.3 查看配置變數和系統狀態 454
26.4.4 以批處理模式使用mysql 455
26.4.5 有用的mysql提示 456
26.5 mysqladmin 458
26.6 其他實用工具 459
26.6.1 mysqldump 459
26.6.2 mysqlshow 459
26.6.3 mysqlhotcopy 460
26.6.4 mysqlimport 460
26.6.5 myisamchk 461
26.6.6 mysqlcheck 461
26.7 第三方客戶端程式 462
26.7.1 mysql管理器 462
26.7.2 phpmyadmin 463
26.7.3 mysql查詢瀏覽器 464
26.7.4 navicat 465
26.8 小結 466
第27章 mysql存儲引擎和數據類型 467
27.1 存儲引擎 467
27.1.1 innodb 468
27.1.2 myisam 468
27.1.3 memory 470
27.1.4 merge 471
27.1.5 bdb 471
27.1.6 federated 471
27.1.7 archive 472
27.1.8 csv 473
27.1.9 example 473
27.1.10 blackhole 473
27.1.11 存儲引擎faq 473
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.4 information_schema 485
27.4 小結 487
第28章 保護mysql的安全 488
28.1 首先應當做什麼 488
28.2 保護mysqld守護進程 489
28.3 mysql訪問許可權系統 489
28.3.1 許可權系統的工作方式 490
28.3.2 訪問信息存儲在哪裡 491
28.4 用戶和許可權管理 498
28.4.1 create user 498
28.4.2 drop user 499
28.4.3 rename user 499
28.4.4 grant和revoke命令 499
28.4.5 查看許可權 503
28.5 限制用戶資源 503
28.6 保護mysql連線 504
28.6.1 授權選項 504
28.6.2 ssl選項 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.2 php的mysql命令 509
29.2.1 建立和關閉連線 509
29.2.2 在單獨的檔案中存儲連線
信息 511
29.2.3 保護連線信息 511
29.3 選擇資料庫 512
29.4 查詢mysql 512
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.2 mysql如何實現存儲例程 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
32.1.3 在事件後採取行動 568
32.1.4 前觸發器和後觸發器 569
32.2 mysql對觸發器的支持 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.2 mysql對視圖的支持 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_table 587
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.2 mysql的事務功能 616
36.2.1 系統需求 617
36.2.2 表創建 617
36.2.3 innodb配置參數 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 利用load data infile導入
數據 628
37.4.2 用mysqlimport導入 631
37.4.3 用php載入表數據 633
37.5 小結 634
索引