21天學通PHP
數據類型的轉換 數據的表示方法 資料庫的最佳化19.1
圖書信息
作 者:白志強 白志剛 等編著出 版 社: 電子工業出版社出版時間: 2009-1-1頁 數:412頁開 本: 16開ISBN:9787121079009內 容 簡 介
第一篇
主要講解了PHP基礎知識,主要內容包括初識PHP、配置Web伺服器和HTML基礎。第二篇
主要內容是PHP基礎語法,包括PHP基礎知識、常用流程控制、常用函式、數組、字元串、HTML表單和檔案的基本操作。第三篇
主要分析了PHP的常見技術,主要講解了類和對象、會話管理、正則表達式和式樣匹配和錯誤調試與異常處理。第四篇
詳細介紹了資料庫的內容,主要包括資料庫基礎、SQL語言和MySQL資料庫基礎、MySQL數據類型、MySQL資料庫及其圖形化管理工具、資料庫的最佳化和PHP運算元據庫。第五篇
為綜合案例篇,通過一個具體的實例講解了如何使用PHP進行實際開發。為什麼要寫這樣一本書
作為一個初學PHP編程的人,最重要的第一步是什麼呢?毫無疑問,是選擇一本好書。然而令人感到尷尬的是,書店中PHP的書可謂琳琅滿目,卻很難找到一本適合初學者使用的書。很多書中都充斥著很多複雜難記的語法和概念,讓剛開始學習PHP的人一頭霧水,就像有一堵無形的牆立在自己面前而無法逾越。為了讓PHP初學者少走彎路,快速而輕鬆地學會PHP編程,筆者總結自己學習PHP的經驗,並結合多年的開發經驗,編寫這本能夠真正讓PHP初學者容易掌握的書。在這本書中,筆者將通過21天的學習規劃,讓讀者快速掌握PHP編程的基本知識。目錄1 PHP基礎知識
第1章 初識PHP
1.1 介紹PHP 231.1.1 PHP是什麼 231.1.2 PHP的前景 231.1.3 PHP的優勢 241.1.4 PHP的發展歷史 241.2 PHP與ASP、JSP的對比 251.2.1 語言介紹 251.2.2 性能對比 251.3 PHP常用開發工具 261.3.1 PHP代碼開發工具 261.3.2 網頁設計工具 271.3.3 文本編輯工具 291.4 綜合練習 311.5 小結 321.6 習題 32第2章 配置Web伺服器
2.1 準備工作 342.1.1 選擇硬體 342.1.2 選擇作業系統 342.1.3 選擇伺服器軟體 352.1.4 選擇PHP 352.1.5 選擇資料庫 352.2 Apache的安裝 362.2.1 安裝Apache 362.2.2 配置Apache 382.3 PHP的安裝與配置 392.3.1 安裝PHP 392.3.2 配置PHP 402.4 MySQL資料庫的安裝與測試 402.4.1 安裝MySQL 402.4.2 測試MySQL 432.5 建立關聯 432.5.1 設定Apache支持PHP網頁 432.5.2 測試Apache與PHP的關聯 432.5.3 測試調用MySQL 452.6 綜合練習 452.7 小結 462.8 習題 46第3章 HTML基礎
3.1 HTML簡介 483.1.1 了解HTML語言 483.1.2 HTML語言實例 493.2 HTML語法 503.2.1 HTML標籤 503.2.2 HTML屬性 513.2.3 HTML注釋 523.3 HTML文檔基本結構 533.3.1 HTML主體標記 533.3.2 HTML頭部標記 533.3.3 HTML主體區標記 543.4 字型標籤 553.4.1 標題字標記 553.4.2 標題字的對齊屬性 563.4.3 文字的修飾標記 573.4.4 字型標記 593.5 段落標記 603.5.1 段落標記 603.5.2 行中斷標籤 613.5.3 不換行標籤 623.6 綜合練習 623.7 小結 643.8 習題 65第4章 PHP基礎知識
4.1 PHP的基本語法 664.1.1 語言風格 664.1.2 PHP在HTML中的嵌入 674.1.3 標識符 684.1.4 注釋 694.1.5 echo輸出命令 704.1.6 print輸出命令 704.2 數據類型 714.2.1 布爾型 714.2.2 整型 724.2.3 浮點型 724.2.4 數據類型的轉換 734.2.5 字元串 744.2.6 NULL類型 754.3 變數 754.3.1 變數名 754.3.2 定義和賦值 764.3.3 輸出變數 764.3.4 變數類型自動轉換 774.3.5 默認變數 784.4 常量 794.4.1 默認常量 794.4.2 自定義常量 804.5 運算符及表達式 804.5.1 算術運算符 814.5.2 賦值運算符 824.5.3 自增自減運算符 824.5.4 位運算符 844.5.5 邏輯運算符 854.5.6 關係運算符 854.5.7 其他運算符 864.5.8 運算符優先權 874.5.9 表達式 884.6 綜合練習 884.7 小結 904.8 習題 90第5章 常用流程控制
5.1 if語句的使用 925.1.1 只含if的語句 925.1.2 if...else結構語句 935.1.3 嵌套的if...else結構 945.1.4 if語句多種嵌套 955.2 switch語句的使用 965.2.1 switch語句 975.2.2 switch語句的其他形式 985.3 while語句的使用 985.3.1 while循環 995.3.2 do…while循環 1005.3.3 while和do…while循環的區別 1005.4 for語句的使用 1015.4.1 一般形式 1015.4.2 多重循環 1035.5 break/continue語句的使用 1045.5.1 break語句的用法 1045.5.2 continue語句的用法 1055.5.3 continue和break語句的區別 1055.6 綜合練習 1065.7 小結 1085.8 習題 108第6章 常用函式
6.1 自定義函式 1116.1.1 自定義函式格式 1116.1.2 調用用戶定義的函式 1126.1.3 按值傳遞參數 1126.1.4 引用傳遞參數 1146.1.5 定義默認參數 1156.1.6 函式返回值 1166.1.7 返回多個值 1176.2 函式的高級調用 1186.2.1 嵌套調用 1186.2.2 遞歸調用 1186.3 函式變數 1196.3.1 變數函式 1196.3.2 局部變數 1206.3.3 全局變數 1206.3.4 動態變數 1226.3.5 靜態變數 1236.4 檔案包含 1236.4.1 require包含檔案 1236.4.2 include包含檔案 1246.4.3 require和include的區別 1256.4.4 單次調用檔案 1266.5 數學函式 1276.5.1 進位函式 1276.5.2 進制轉化 1286.6 時間函式 1296.6.1 日期函式date() 1296.6.2 獲得日期信息 1306.6.3 其他時間函式 1316.7 綜合練習 1326.8 本章小結 1346.9 習題 134第7章 數組
7.1 定義數組 1367.1.1 數組的構成 1367.1.2 使用賦值創建數組 1367.1.3 使用array()函式創建數組 1387.1.4 鍵名分配 1387.1.5 用字元串作鍵名 1397.1.6 鍵名的新建/修改 1407.1.7 創建多維數組 1417.2 數組輸出與測試 1417.2.1 列印變數 1417.2.2 輸出數組 1427.2.3 測試數組 1437.3 遍歷數組 1437.3.1 foreach遍歷數組 1447.3.2 foreach含鍵名的遍歷 1447.3.3 each()函式遍歷數組 1457.3.4 list()函式遍歷數組 1467.3.5 for語句遍歷 1477.3.6 返回鍵和鍵值 1487.3.7 查找數組元素值 1497.4 數組計算 1497.4.1 計算元素個數 1497.4.2 count()函式的遞歸 1507.4.3 數組運算符 1517.4.4 相同元素數組的比較 1527.5 數組排序 1537.5.1 按標識符排序 1537.5.2 按元素值排序 1547.5.3 刪除原有鍵名排序 1557.6 綜合練習 1557.7 小結 1577.8 習題 157目錄2 PHP基礎語法
第8章 字元串
8.1 去除特殊字元 1598.1.1 去除兩端空格 1598.1.2 去除左端空格 1608.1.3 去除右端空格 1618.2 字元串的大小寫轉換 1618.2.1 轉換為小寫 1618.2.2 轉換為大寫 1628.2.3 首字元大寫轉換 1638.2.4 單詞首字元大寫轉換 1638.3 比較字元串 1648.3.1 比較運算符 1648.3.2 區分大小寫字元串的比較 1658.3.3 不區分大小寫字元串的比較 1658.3.4 選擇性的比較字元串 1668.3.5 不區分大小寫選擇性的比較 1678.4 查找與匹配 1678.4.1 查找字元串 1688.4.2 查找字元串出現次數 1698.4.3 查找最後一次的位置 1708.4.4 查找第一次的位置 1708.5 替換與分隔 1718.5.1 字元串的替換 1718.5.2 部分替換 1728.5.3 分隔字元串 1738.6 字元串的其他操作 1748.6.1 MD5算法 1748.6.2 創建格式化輸出 1758.7 綜合練習 1768.8 小結 1788.9 習題 178第9章 HTML表單
9.1 表單製作 1809.2 輸入標記<input> 1819.2.1 文本域text 1829.2.2 密碼域password 1839.2.3 檔案域file 1849.2.4 提交與重置按鈕 1859.2.5 複選框 1869.2.6 單選按鈕 1879.2.7 <select>下拉列表標記 1889.3 提交表單信息 1909.3.1 get方法提交 1909.3.2 post方法提交 1929.4 PHP處理表單 1939.5 表單驗證 1959.5.1 用戶名驗證 1959.5.2 郵件地址驗證 1969.5.3 密碼驗證 1979.6 綜合練習 1979.7 小結 2019.8 習題 201第10章 檔案的基本操作
10.1 檔案訪問 20310.1.1 判斷檔案是否存在 20310.1.2 訪問檔案屬性 20410.1.3 打開檔案 20510.1.4 關閉檔案 20610.2 讀取檔案 20610.2.1 讀取檔案相應字元 20610.2.2 讀取整個檔案 20710.2.3 按行讀取 20810.3 寫入數據 20810.3.1 寫入單行數據 20910.3.2 寫入多行數據 21010.4 指針 21110.4.1 查找指針位置 21110.4.2 rewind()函式 21210.4.3 指針定位 21310.5 目錄操作 21410.5.1 打開目錄 21410.5.2 關閉目錄 21510.5.3 讀取目錄 21510.5.4 遍歷目錄 21610.5.5 創建目錄 21710.5.6 刪除目錄 21810.6 綜合練習 21910.7 小結 22010.8 習題 221目錄3 PHP常見技術
第11章 類和對象
11.1 類的使用 22311.1.1 類和對象 22311.1.2 創建類 22411.1.3 實例化類 22411.1.4 方法的使用 22411.2 類的訪問控制 22511.2.1 公有屬性 22611.2.2 改變屬性值 22611.2.3 私有屬性 22711.2.4 protected屬性 22811.2.5 const屬性 22911.3 類的特性 23011.3.1 繼承性 23011.3.2 多態性 23111.4 構造函式 23211.4.1 創建構造函式 23211.4.2 調用父類構造函式 23411.5 析構函式 23511.5.1 析構函式的調用 23511.5.2 使用其他方法調用析構函式 23611.6 $this關鍵字 23611.6.1 調用變數 23711.6.2 調用其他方法 23711.7 static關鍵字 23811.7.1 靜態屬性 23811.7.2 靜態方法 23911.8 final關鍵字 24011.8.1 final函式的調用 24011.8.2 final類不能被繼承 24111.8.3 final方法不能被重寫 24211.9 綜合練習 24311.10 小結 24511.11 習題 245第12章 會話管理
12.1 Cookie概述 24712.1.1 Cookie的作用 24712.1.2 Cookie的限制 24812.2 PHP中Cookie的使用 24812.2.1 創建Cookie 24812.2.2 訪問Cookie 24912.2.3 Cookie工作時間 24912.2.4 Cookie數組 25112.3 Session常見函式及用法 25112.3.1 啟動一個Session 25112.3.2 調用Session變數 25212.3.3 查看session_id的值 25312.3.4 Session的使用 25412.4 綜合練習 25512.5 小結 25712.6 習題 258第13章 正則表達式和式樣匹配
13.1 正則表達式的匹配 25913.1.1 一般匹配 25913.1.2 特殊匹配 26013.2 元字元 26013.2.1 行首位置 26113.2.2 行尾位置 26113.2.3 元字元+ 26213.2.4 字元類 26313.3 樣式匹配函式 26413.3.1 表達式匹配 26413.3.2 全局匹配 26513.3.3 搜尋和替換 26713.3.4 分隔字元串 26813.4 綜合練習 26913.5 小結 27013.6 習題 271第14章 錯誤調試與異常處理
14.1 基本調試策略 27314.1.1 調試步驟 27314.1.2 配置指令 27314.2 語法錯誤 27514.2.1 缺少分號 27514.2.2 缺少一個引號 27514.2.3 缺少整個引號 27614.2.4 缺少關鍵字 27714.2.5 缺少括弧 27814.2.6 變數前缺少符號 27814.3 運行錯誤 27914.3.1 檔案操作與許可權 27914.3.2 連線資料庫失敗 28014.4 邏輯錯誤 28014.4.1 計算錯誤 28114.4.2 不測試返回值 28114.5 print語句調試 28214.6 綜合練習 28414.7 小結 28514.8 習題 285目錄4 資料庫知識
第15章 資料庫基礎
15.1 數據模型 28715.1.1 層次模型 28715.1.2 網狀模型 28715.1.3 關係模型 28815.2 關係資料庫 28815.2.1 關係資料庫基本概念 28815.2.2 關係的基本特點 28915.2.3 數據的表示方法 28915.3 鍵的選用 29015.3.1 主鍵 29015.3.2 組合鍵 29015.3.3 候選鍵 29115.3.4 外鍵 29115.4 關聯類型 29215.4.1 一對一關係 29215.4.2 一對多關係 29215.4.3 多對多關係 29315.5 正規化 29315.5.1 第一範式 29315.5.2 第二範式 29415.5.3 第三範式 29515.6 完整性 29515.6.1 實體完整性 29515.6.2 參照完整性 29615.6.3 域完整性 29615.7 約束 29715.7.1 主鍵約束 29715.7.2 唯一約束 29715.7.3 外鍵約束 29715.7.4 默認約束 29815.8 綜合練習 29815.9 小結 29815.10 習題 299第16章 SQL語言和MySQL資料庫基礎
16.1 SQL語言簡介 30016.1.1 標準化語言 30016.1.2 大小寫規則 30016.2 MySQL資料庫連線 30116.2.1 通過客戶端登錄 30116.2.2 通過Windows命令登錄 30116.2.3 查看MySQL資料庫版本 30216.3 賬號和管理許可權 30216.3.1 一般用戶許可權 30216.3.2 管理員許可權 30316.4 創建新用戶 30316.4.1 grant命令 30416.4.2 查看用戶許可權 30516.4.3 revoke命令 30516.5 MySQL基本的SQL命令 30616.5.1 創建資料庫 30616.5.2 use命令 30616.5.3 創建資料庫表 30716.5.4 查看資料庫 30816.5.5 查看資料庫表 30916.5.6 describe命令 30916.5.7 備份資料庫 31016.5.8 刪除資料庫 31116.6 創建和套用視圖 31116.6.1 創建視圖 31116.6.2 查看視圖 31216.6.3 刪除視圖 31216.7 綜合練習 31316.8 小結 31416.9 習題 314第17章 MySQL數據類型
17.1 數值類型 31617.1.1 整型 31617.1.2 浮點型 31717.1.3 定點數 31917.2 數據欄位修飾符 32017.2.1 自動增量設定 32017.2.2 自動補齊前導0 32117.3 字元串類型 32117.3.1 CHAR和VARCHAR數據類型 32117.3.2 BLOB和TEXT類型 32217.3.3 ENUM類型 32317.3.4 SET類型 32317.4 日期和時間值 32417.4.1 日期時間類型 32417.4.2 TIMESTAMP數據類型 32517.4.3 獲得當前日期 32617.4.4 獲得當前時間 32617.4.5 獲得當前日期和時間 32717.5 綜合練習 32717.6 小結 32917.7 習題 329第18章 MySQL資料庫及其圖形化管理工具
18.1 數據查詢 33118.1.1 SELECT查詢語句 33118.1.2 WHERE子句 33218.1.3 And & Or條件查詢 33318.1.4 模糊查詢 33418.1.5 聯合多列 33418.1.6 LIMIT 限定行數 33518.1.7 找出某列最大值 33618.1.8 計算行數 33618.1.9 進行表達式計算 33618.1.10 分組查詢 33718.2 數據的其他操作 33818.2.1 排序 33818.2.2 插入數據 33918.2.3 更新數據 33918.2.4 刪除數據 34018.2.5 批量錄入數據 34018.3 使用phpMyAdmin管理資料庫 34118.3.1 phpMyAdmin的安裝與配置 34118.3.2 創建資料庫 34118.3.3 創建資料庫表 34118.3.4 插入數據 34318.3.5 導出數據表 34318.4 綜合練習 34418.5 小結 34818.6 習題 348第19章 資料庫的最佳化
19.1 使用索引 35019.1.1 創建索引 35019.1.2 索引表查詢的影響 35119.1.3 查看索引的使用 35319.1.4 分析索引的使用 35419.1.5 刪除索引 35419.2 類型的選擇 35519.2.1 選取最適用的欄位屬性 35519.2.2 表的類型 35519.3 鎖定表 35619.3.1 READ鎖定 35619.3.2 WRITE鎖定 35719.3.3 查詢表級鎖 35819.4 其他方法最佳化 35919.4.1 創建臨時表 35919.4.2 使用外鍵 35919.5 定期最佳化檢查表 36019.5.1 分析表 36019.5.2 檢查表 36019.5.3 最佳化表 36119.6 綜合練習 36119.7 小結 36119.8 習題 362第20章 PHP運算元據庫
20.1 連線和關閉資料庫 36320.1.1 連線資料庫 36320.1.2 永久連線 36420.1.3 關閉資料庫 36520.2 操作MySQL資料庫 36620.2.1 創建資料庫 36620.2.2 選擇資料庫 36720.2.3 檢查錯誤 36820.2.4 刪除資料庫 36920.2.5 查詢資料庫檔案信息 37020.2.6 查詢數據表檔案信息 37120.2.7 查詢資料庫個數 37220.2.8 查詢資料庫中數據表個數 37320.2.9 查詢資料庫的名稱 37420.2.10 查詢數據表的名稱 37520.3 PHP對數據表的操作 37620.3.1 建立數據表 37620.3.2 刪除數據表 37720.3.3 查詢表中欄位個數 37820.3.4 查詢表中欄位名稱 37920.4 PHP對數據表記錄的操作 38120.4.1 插入數據 38120.4.2 修改記錄 38220.4.3 刪除記錄 38320.4.4 提取記錄 38420.4.5 指定記錄提取 38620.4.6 提取記錄個數 38720.5 綜合練習 38820.6 小結 39120.7 習題 391目錄5 綜合案例
第21章 PHP開發實例
21.1 計數器模組 39321.1.1 成品展示 39321.1.2 運行原理 39321.1.3 模組結構圖 39421.1.4 實現程式 39421.2 留言板模組 39621.2.1 成品展示 39621.2.2 運行原理 39721.2.3 模組結構圖 39821.2.4 創建資料庫 39821.2.5 實現程式 39921.3 小結 408