内容简介
本书以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