內容簡介
本書以XAMPP為開發平臺,全面介紹了PHP和MySQL的基礎知識、程序結構及網頁制作技巧。全書共分為14章,包括PHP簡介與開發工具、PHP語言基礎、PHP流程控制語句、自定義函數、數組、字符串處理、PHP與Web頁面交互、MySQL數據庫、PHP操作MySQL數據庫、PHP會話控制、圖形圖像處理、文件和目錄操作、面向對象和PDO數據庫抽象層。
本書以最新發布的PHP 7.0為主講內容,結合MySQL數據庫,全面、詳細地介紹了PHP動態網頁設計的基礎知識和設計技巧。全書結構合理、思路清晰、語言簡練流暢、實例翔實,在準確講解概念的基礎上力求通俗易懂,每章均配有實踐性很強的綜合實訓案例,旨在培養學生的實踐動手能力。
本書可作為普通高校非計算機專業計算機類課程的教材,也可以作為PHP、MySQL網頁設計的自學用書。
前 言
PHP是當今全球最普及、應用最廣泛的Web應用開發語言之一,全世界有超過3000萬個網站和2萬多家公司選用了PHP,其中包括百度、雅虎、德國漢莎航空電子售票系統、華爾街在線的金融信息發布系統等。在近幾年的編程語言排行榜中,PHP以其卓越的性能一直穩居前茅,PHP 7.0的正式發布更是掀起了新一輪的PHP應用狂潮。
作者根據多年的教學經驗,結合最新發布的PHP 7.0和MySQL數據庫,在分析、總結國內外多種同類教材的基礎上,編寫了本書。本書力求理論聯系實際,通過貫穿全書的實訓案例,引導和啟發學生快速掌握網站建設的方法。
本書共分14章,內容如下。
第1章主要介紹PHP語言的發展過程及特點、XAMPP系統的安裝與啟動、PHP語言的基本語法知識。
第2章主要介紹PHP語言的數據類型、常量和變量、運算符和表達式等內容。
第3章主要介紹PHP流程控制語句——if語句、if…else語句、switch語句、while語句、for語句等內容。
第4章主要介紹自定義函數的基本概念、變量的作用域等內容。
第5章主要介紹數組概述、一維數組、二維數組等內容。
第6章主要介紹字符串基本概念、處理字符串的相關函數等內容。
第7章主要介紹Web頁面各類控件的屬性以及PHP程序采集數據的方法等內容。
第8章主要介紹MySQL數據庫以及操作數據庫、數據表、記錄等相關SQL語句和MySQL命令等內容。
第9章主要介紹PHP程序連接MySQL數據庫,利用SQL語句操作數據表、記錄等內容。
第10章主要介紹PHP中Cookie和Session的基本概念及應用方法等內容。
第11章主要介紹PHP中圖形圖像的處理方法等內容。
第12章主要介紹PHP中文件和目錄的操作方法等內容。
第13章主要介紹PHP中面向對象的基本概念和類的相關應用等內容。
第14章主要介紹利用PDO數據庫抽象層連接MySQL數據庫,操作MySQL數據表、記錄等內容。
本書內容豐富、結構合理、思路清晰、語言簡練流暢,書中所有實例都已在XAMPP系統下調試并運行通過。為了能讓讀者更好地掌握PHP和MySQL,大部分章節都編寫了一個綜合實訓案例。讀者依據本書循序漸進地學習,可以鞏固基本知識,培養實踐能力,增強對基本概念的理解和解決實際問題的能力,能夠高效地掌握PHP開發網站的技巧。
本書獲內蒙古科技大學教材建設項目資助,主要由內蒙古科技大學計算機教學基地的教師編寫,由黃迎久(內蒙古科技大學計算機教學基地)和石煒(內蒙古科技大學機械工程學院)任主編,內蒙古科技大學計算機教學基地的徐揚、趙軍富、張利新、王猛任副主編。本書寫作分工:第1章、第9章和第12章由徐揚編寫,第2章和第6章由張利新編寫,第3章和第11章由王猛編寫,第8章和第14章由趙軍富編寫,第4章、第5章和第7章由石煒編寫,第10章、第13章和前言由黃迎久編寫;全書由黃迎久負責統稿。
由于作者水平有限,書中的疏漏和不妥在所難免,歡迎廣大讀者批評指正。
編 者
目錄
第1章 PHP簡介與開發工具 11.1 PHP簡介 21.1.1 PHP概述 21.1.2 PHP腳本程序工作流程 31.2 開發工具 51.2.1 集成系統的安裝與啟動 51.2.2 PHP程序開發工具 81.3 PHP語法基礎 91.3.1 PHP標記符 91.3.2 PHP注釋 101.3.3 PHP語句與語句塊 101.3.4 PHP輸出指令 111.3.5 PHP編碼規范 121.4 綜合實訓案例 13本章小結 15習題 15第2章 PHP語言基礎 172.1 常量 182.1.1 自定義常量 182.1.2 預定義常量 192.1.3 檢測常量是否已被定義 192.2 變量 202.2.1 變量的命名 202.2.2 變量的賦值 202.2.3 變量的作用域 212.2.4 可變變量 212.3 PHP數據類型 222.3.1 標量數據類型 222.3.2 復合數據類型 242.3.3 特殊數據類型 252.3.4 檢測數據類型 252.4 PHP運算符 262.4.1 算術運算符 262.4.2 字符串運算符 262.4.3 賦值運算符 272.4.4 遞增/遞減運算符 272.4.5 比較運算符 282.4.6 邏輯運算符 292.4.7 條件運算符 292.4.8 錯誤抑制運算符 292.4.9 運算符的優先級 302.5 數據類型的轉換 302.5.1 類型自動轉換 302.5.2 強制類型轉換 32本章小結 34習題 35第3章 PHP流程控制語句 373.1 選擇結構 383.1.1 if語句 383.1.2 if…else語句 393.1.3 switch語句 403.2 循環結構 413.2.1 while語句 413.2.2 do…while語句 423.2.3 for循環語句 433.3 跳轉語句 443.3.1 continue語句 443.3.2 break語句 453.4 包含語句 463.4.1 include()語句 463.4.2 require()語句 473.4.3 include_once( )語句 493.4.4 require_once( )語句 493.5 綜合實訓案例 50本章小結 51習題 51第4章 自定義函數 534.1 自定義函數 544.1.1 自定義函數的定義與調用 544.1.2 在函數間傳遞參數 554.1.3 函數的返回值 584.2 變量的作用域 594.3 變量的生存周期 60本章小結 61習題 61第5章 數組 635.1 數組概述 645.1.1 數組的基本概念 645.1.2 數組的分類 645.2 一維數組 645.2.1 一維數組的聲明 645.2.2 遍歷數組 665.3 二維數組 685.3.1 二維數組的聲明 685.3.2 二維數組元素的訪問 695.4 PHP全局數組 705.4.1 $_SERVER[ ]全局數組 705.4.2 $_GET[ ]和$_POST[ ]全局數組 715.4.3 $_REQUEST[ ]全局數組 735.4.4 $_COOKIE[ ]全局數組 735.4.5 $_SESSION[ ]全局數組 735.4.6 $_ENV[ ]全局數組 735.4.7 $_FILES[ ]全局數組 74本章小結 74習題 74第6章 字符串處理 756.1 字符串簡介 766.2 字符串操作 766.2.1 獲取字符串長度 766.2.2 截取字符串 786.2.3 操作子字符串 806.2.4 字符串替換函數 856.2.5 比較字符串 886.2.6 去除字符串首尾空格和特殊字符 906.2.7 字符串與HTML相互轉換 926.2.8 連接與分割字符串 946.3 綜合實訓案例 97本章小結 99習題 99第7章 PHP與Web頁面交互 1017.1 表單數據采集 1027.1.1 表單 1027.1.2 表單控件 1037.2 綜合實訓案例 114本章小結 116習題 117第8章 MySQL數據庫 1198.1 MySQL的啟動和關閉 1208.1.1 MySQL服務器的啟動 1208.1.2 連接MySQL服務器 1208.1.3 關閉MySQL服務器 1218.2 字符集 1218.2.1 字符集簡介 1218.2.2 MySQL字符集 1218.2.3 MySQL中的字符集轉換過程 1238.2.4 MySQL字符集的設置 1248.3 操作數據庫 1258.3.1 查看數據庫 1258.3.2 創建數據庫 1268.3.3 選擇數據庫 1278.3.4 刪除數據庫 1278.4 操作數據表 1278.4.1 創建數據表 1278.4.2 顯示數據表的信息 1298.4.3 修改數據表 1308.4.4 刪除數據表 1318.5 操作數據 1318.5.1 新增記錄 1318.5.2 批量增加記錄 1338.5.3 修改記錄 1338.5.4 刪除記錄 1338.6 數據查詢語句 1348.6.1 單表查詢 1348.6.2 多表查詢 1428.7 phpMyAdmin圖形化管理工具 1468.7.1 啟動phpMyAdmin 1468.7.2 數據庫管理 1478.7.3 數據表管理 1488.8 綜合實訓案例 149本章小結 152習題 152第9章 PHP操作MySQL數據庫 1539.1 PHP操作MySQL數據庫的函數 1549.1.1 連接MySQL數據庫 1549.1.2 設置數據庫字符集 1559.1.3 執行SQL語句 1569.1.4 遍歷結果集 1589.1.5 關閉與MySQL數據庫的連接 1609.2 綜合實訓案例 161本章小結 164習題 164第10章 PHP會話控制 16510.1 Cookie會話技術 16610.1.1 在瀏覽器中設置Cookie 16610.1.2 Cookie的功能 16710.1.3 Cookie的分類 16710.1.4 創建Cookie 16710.1.5 讀取Cookie 16810.1.6 刪除Cookie 16910.2 Session會話技術 17010.2.1 了解Session 17010.2.2 Session與Cookie的區別 17010.2.3 Session的設置 17110.2.4 Session的啟動和刪除 17110.3 綜合實訓案例 175本章小結 177習題 177第11章 圖形圖像處理 17911.1 GD函數庫 18011.1.1 了解GD函數庫 18011.1.2 設置GD2函數庫 18011.2 常見圖像處理 18111.2.1 創建畫布 18111.2.2 設置顏色 18211.2.3 生成圖像 18211.2.4 銷毀圖像 18411.2.5 繪制點與線 18511.2.6 繪制幾何圖形 18611.2.7 填充幾何圖形 18911.2.8 繪制文字 19211.3 綜合實訓案例 194本章小結 196習題 196第12章 文件和目錄操作 19712.1 文件的處理 19812.1.1 打開文件 19812.1.2 讀取文件 19912.1.3 寫入文件 20512.1.4 關閉文件 20612.1.5 刪除文件 20712.1.6 復制文件 20712.1.7 移動和重命名文件 20812.2 目錄操作 20812.2.1 打開目錄 20812.2.2 讀取目錄 20912.2.3 關閉目錄 20912.2.4 創建目錄 21012.2.5 刪除目錄 21012.2.6 改變目錄 21112.3 文件上傳和下載 21112.3.1 相關設置 21112.3.2 文件上傳 21212.3.3 文件下載 21512.4 綜合實訓案例 216本章小結 218習題 218第13章 面向對象 21913.1 概述 22013.1.1 面向對象的概念 22013.1.2 PHP面向對象的特點 22013.2 類和對象 22013.2.1 類的結構與聲明方式 22113.2.2 屬性和方法的定義 22113.2.3 類的實例化 22213.2.4 訪問類中的成員 22213.2.5 特殊的訪問方法——$this和“::” 22213.2.6 構造方法 22313.2.7 析構方法 22313.3 類的封裝 22413.3.1 public公共成員 22413.3.2 private私有成員 22513.3.3 protected保護成員 22613.3.4 static靜態成員 22613.3.5 final最終成員 22713.4 類的繼承與重載 22813.4.1 類的繼承 22813.4.2 類的重載 22913.5 接口 23013.5.1 接口的聲明 23013.5.2 接口的應用 23013.6 綜合實訓案例 231本章小結 232習題 232第14章 PDO數據庫抽象層 23514.1 PDO概述 23614.1.1 PDO的概念及特點 23614.1.2 PDO的配置 23614.2 PDO連接數據庫 23714.3 在PDO中執行SQL語句 23814.3.1 exec()方法 23814.3.2 query()方法 23914.3.3 預處理語句prepare()和execute() 24014.4 PDO獲取結果集 24214.4.1 fetch()方法 24214.4.2 fetchAll()方法 24314.4.3 fetchColumn()方法 24414.5 PDO錯誤處理 24514.5.1 errorCode()方法 24514.5.2 errorInfo()方法 24514.6 PDO捕獲SQL語句中的錯誤 24614.6.1 使用默認模式PDO::ERRMODE_SILENT 24714.6.2 使用警告模式PDO::ERRMODE_WARNING 24714.6.3 使用異常模式PDO::ERRMODE_EXCEPTION 24814.7 PDO事務處理 24914.8 綜合實訓案例 250本章小結 252習題 252參考文獻 253