图书目录

目    录

第1篇  新手入门

第1章  初识PHP环境搭建 2

 视频讲解:66分钟

1.1  PHP开发环境的搭建 3

1.1.1  在Windows下搭建PHP开发环境 3

1.1.2  在Linux下搭建PHP开发环境 3

1.2  Apache服务器的安装和配置 3

1.2.1  在Windows下安装Apache服务器 3

1.2.2  在Linux下安装Apache服务器 6

1.3  PHP的安装和配置 7

1.3.1  在Windows下安装PHP 7

1.3.2  在Linux下安装PHP 8

1.4  应用组合包快速搭建PHP环境 9

1.5  第一个PHP程序 11

1.5.1  使用Adobe Dreamweaver编写源程序 12

1.5.2  发布和运行PHP程序 13

1.6  环境安装常见问题 13

1.6.1  Apache安装常见问题 13

1.6.2  PHP安装常见问题 13

1.6.3  MySQL安装常见问题 14

1.7  实战 15

1.8  小结 17

1.9  学习成果检验 17

第2章  PHP语言基础 18

 视频讲解:172分钟

2.1  PHP语法基础 19

2.1.1  PHP标记风格 19

2.1.2  PHP注释应用 19

2.2  PHP的数据类型 20

2.2.1  标量数据类型 20

2.2.2  复合数据类型 24

2.2.3  特殊数据类型 25

2.2.4  转换数据类型 26

2.2.5  检测数据类型 27

2.3  PHP的常量应用 27

2.3.1  声明和使用常量 28

2.3.2  预定义常量 28

2.4  PHP的变量应用 29

2.4.1  变量声明及使用 30

2.4.2  变量作用域 31

2.4.3  可变变量 33

2.4.4  预定义变量 33

2.4.5  变量的生存周期 34

2.5  PHP运算符 34

2.5.1  算术运算符 34

2.5.2  字符串运算符 35

2.5.3  赋值运算符 36

2.5.4  递增或递减运算符 36

2.5.5  位运算符 37

2.5.6  逻辑运算符 38

2.5.7  比较运算符 39

2.5.8  条件运算符 40

2.5.9  运算符的优先顺序和结合规则 40

2.6  PHP函数 41

2.6.1  定义和调用函数 41

2.6.2  在函数间传递参数 41

2.6.3  从函数中返回值 43

2.6.4  变量函数 43

2.6.5  对函数的引用 44

2.6.6  取消引用 44

2.7  输出语句 45

2.7.1  应用print语句输出字符 45

2.7.2  应用echo语句输出字符 46

2.7.3  应用printf语句格式化输出字符 47

2.7.4  应用sprintf语句格式化输出字符 48

2.8  引用文件 49

2.8.1  应用include语句引用文件 49

2.8.2  应用require语句引用文件 49

2.8.3  应用include_once语句引用文件 50

2.8.4  应用require_once语句引用文件 51

2.8.5  include语句和require语句的区别 51

2.8.6  include_once语句和require_once语句的

区别 52

2.9  实战 52

2.9.1  判断闰年的方法 52

2.9.2  通过自定义函数防止新闻主题信息出现

中文乱码 53

2.9.3  应用include语句构建在线音乐网站

主页 54

2.9.4  随机组合生日祝福语 56

2.9.5  加法计算器 56

2.10  小结 57

2.11  学习成果检验 57

第3章  PHP流程控制语句 58

 视频讲解:54分钟

3.1  控制结构 59

3.2  条件控制语句 60

3.2.1  if条件控制语句 60

3.2.2  switch...case分支控制语句 63

3.3  循环控制语句 64

3.3.1  while循环语句 64

3.3.2  do...while循环语句 65

3.3.3  for循环语句 66

3.3.4  foreach循环 67

3.4  跳转控制语句 68

3.4.1  使用break语句跳出循环 68

3.4.2  使用continue语句跳出循环 70

3.5  实战 71

3.5.1  执行指定次数的循环 71

3.5.2  跳过数据输出中指定的记录 72

3.5.3  控制页面中数据的输出数量 73

3.5.4  动态改变页面中单元格的背景颜色 73

3.5.5  使用for循环动态创建表格 74

3.6  小结 74

3.7  学习成果检验 75

第4章  字符串操作与正则表达式 76

 视频讲解:92分钟

4.1  了解字符串 77

4.2  单引号与双引号 77

4.3  定界符 78

4.4  连接字符串 80

4.5  转义、还原字符串 80

4.5.1  手动转义、还原字符串 80

4.5.2  自动转义、还原字符串 81

4.6  获取字符串长度 82

4.7  截取字符串 84

4.8  比较字符串 85

4.8.1  按字节比较 85

4.8.2  按自然排序法比较 86

4.8.3  指定从源字符串的位置比较 87

4.9  检索字符串 87

4.9.1  使用strstr()函数检索指定的关键字 87

4.9.2  应用substr_count()函数检索子串出现的

次数 88

4.10  替换字符串 89

4.11  什么是正则表达式 91

4.12  正则表达式语法规则 91

4.12.1  行定位符(^和$) 91

4.12.2  字符类([]) 92

4.12.3  选择字符(|) 92

4.12.4  连字符(-) 92

4.12.5  排除字符([^]) 93

4.12.6  限定符(? * + {n,m}) 93

4.12.7  点字符(.) 93

4.12.8  反斜杠(\) 94

4.12.9  反向引用 95

4.13  POSIX扩展正则表达式函数 95

4.13.1  替换字符串 95

4.13.2  分割字符串 95

4.14  PCRE兼容正则表达式函数 96

4.14.1  查找字符串 96

4.14.2  替换字符串 96

4.15  实战 97

4.15.1  超长文本的分页显示 97

4.15.2  控制页面中输出字符串的长度 99

4.15.3  正则无刷新用户注册 100

4.15.4  计算密码长度 102

4.15.5  去除用户填写注册信息中的空格 103

4.16  小结 104

4.17  学习成果检验 104

第5章  初探数组 105

 视频讲解:146分钟

5.1  什么是数组 106

5.2  声明数组 106

5.2.1  数组命名规则 106

5.2.2  通过PHP函数创建数组 107

5.2.3  通过数组标识符"[]"创建数组 108

5.3  数组的类型 108

5.3.1  数字索引数组 109

5.3.2  关联数组 109

5.4  输出数组 109

5.5  数组的构造 110

5.5.1  创建一维数组 110

5.5.2  创建二维数组 111

5.6  遍历数组 111

5.6.1  foreach结构遍历数组 112

5.6.2  list()函数遍历数组 112

5.6.3  for语句遍历数组 113

5.7  PHP全局数组 114

5.7.1  $_SERVER[]全局数组 114

5.7.2  $_GET[]和$_POST[]全局数组 115

5.7.3  $_COOKIE全局数组 115

5.7.4  $_ENV[]全局数组 116

5.7.5  $_REQUEST[]全局数组 116

5.7.6  $_SESSION[]全局数组 116

5.7.7  $_FILES[]全局数组 116

5.8  PHP的数组函数 117

5.8.1  统计数组元素个数 117

5.8.2  向数组中添加元素 117

5.8.3  获取数组中最后一个元素 118

5.8.4  删除数组中重复元素 118

5.8.5  获取数组中指定元素的键名 119

5.9  实战 120

5.9.1  获取上传文件的数据 120

5.9.2  投票管理系统 120

5.9.3  获取用户注册信息 121

5.9.4  车牌摇号 122

5.9.5  向数组中添加元素 122

5.10  小结 122

5.11  学习成果检验 123

第6章  日期和时间的管理 124

 视频讲解:43分钟

6.1  PHP的时间概念 125

6.1.1  在php.ini文件中设置时区 125

6.1.2  通过date_default_timezone_set函数设置

时区 125

6.2  时间戳 126

6.2.1  什么是时间戳 126

6.2.2  UNIX时间戳 126

6.2.3  获取指定日期的时间戳 127

6.2.4  获取当前时间戳 127

6.2.5  将英文文本的日期时间描述解析为UNIX

时间戳 128

6.3  PHP日期和时间的处理 129

6.3.1  格式化日期和时间 129

6.3.2  获取日期和时间信息 130

6.3.3  获取本地化的日期和时间 131

6.3.4  检验日期和时间的有效性 133

6.4  实战 134

6.4.1  实现倒计时的功能 134

6.4.2  计算在线考试用时和剩余时间 135

6.4.3  网页闹钟 138

6.4.4  检验日期和时间的有效性 138

6.4.5  获取指定时间的UNIX时间戳 139

6.5  小结 139

6.6  学习成果检验 139

第7章  程序调试与异常处理 140

 视频讲解:72分钟

7.1  程序基本调试流程 141

7.2  PHP中的错误类型 141

7.2.1  语法错误 142

7.2.2  语义错误 143

7.2.3  逻辑错误 143

7.2.4  注释错误 144

7.2.5  运行错误 144

7.3  PHP错误的调试 145

7.3.1  PHP的错误报告 145

7.3.2  启动错误报告 145

7.3.3  使用print语句调试程序 145

7.3.4  应用@前缀字符屏蔽PHP脚本错误

提示 146

7.3.5  使用错误处理器记录日志 147

7.4  SQL错误的调试 148

7.4.1  PHP与MySQL连接错误 148

7.4.2  SQL语句错误 148

7.5  实战 150

7.5.1  运行缺少第三方组件的程序 150

7.5.2  通过readfile()函数访问远程文件 150

7.5.3  解决数据库乱码问题 151

7.5.4  封装异常处理类 152

7.5.5  解决程序的语法错误 153

7.6  小结 153

7.7  学习成果检验 154

第8章  综合实例(一)--在线论坛 155

 视频讲解:25分钟

8.1  系统设计思路 156

8.1.1  程序业务流程 156

8.1.2  系统预览 156

8.2  数据库设计 157

8.2.1  数据库概要说明 157

8.2.2  数据库概念设计 157

8.2.3  数据库逻辑设计 158

8.3  用户注册模块设计 159

8.3.1  用户注册模块概述 159

8.3.2  JavaScript脚本和include()包含语句 160

8.3.3  用户注册模块的实现过程 161

8.4  用户登录模块设计 163

8.4.1  用户登录模块概述 163

8.4.2  通过JavaScript脚本判断用户名和密码

是否为空 163

8.4.3  用户登录模块的实现过程 164

8.5  帖子分类管理模块设计 165

8.5.1  帖子分类管理模块概述 165

8.5.2  使用SQL语句查询数据技术 165

8.5.3  帖子分类管理模块的实现过程 166

8.6  发帖模块设计 168

8.6.1  发帖模块概述 168

8.6.2  while循环语句技术 168

8.6.3  发帖模块的实现过程 169

8.7  回帖模块设计 170

8.7.1  回帖模块概述 170

8.7.2  mysql函数处理技术 170

8.7.3  回帖模块的实现过程 170

8.8  后台管理模块设计 172

8.8.1  后台管理模块概述 172

8.8.2  URL编码和SWITCH框架技术 172

8.8.3  后台主页的实现过程 172

8.8.4  栏目管理模块的实现过程 174

8.9  小结 176

  

第2篇  初级开发

第9章  MySQL数据库 178

 视频讲解:37分钟

9.1  MySQL简介 179

9.1.1  什么是MySQL 179

9.1.2  MySQL的特点 179

9.1.3  MySQL 5支持的特性 180

9.2  MySQL下载 180

9.3  MySQL的环境安装 182

9.4  启动、连接、断开和停止MySQL

服务器 186

9.4.1  启动MySQL服务器 186

9.4.2  连接和断开MySQL服务器 186

9.4.3  停止MySQL服务器 187

9.5  phpMyAdmin图形化管理工具 188

9.5.1  数据库操作管理 188

9.5.2  管理数据表 189

9.5.3  管理数据记录 190

9.5.4  导入导出数据 193

9.5.5  phpMyAdmin设置编码格式 194

9.5.6  phpMyAdmin添加服务器新用户 194

9.5.7  phpMyAdmin中重置MySQL服务器登录

密码 195

9.6  小结 196

9.7  学习成果检验 196

第10章  MySQL存储引擎与运算符 197

 视频讲解:33分钟

10.1  MySQL存储引擎 198

10.1.1  什么是MySQL存储引擎 198

10.1.2  查询MySQL中支持的存储引擎 198

10.1.3  InnoDB存储引擎 199

10.1.4  MyISAM存储引擎 200

10.1.5  MEMORY存储引擎 200

10.1.6  如何选择存储引擎 201

10.1.7  设置数据表的存储引擎 202

10.2  MySQL数据类型 203

10.2.1  数字类型 203

10.2.2  字符串类型 204

10.2.3  日期和时间数据类型 205

10.3  MySQL运算符 205

10.3.1  算术运算符 206

10.3.2  比较运算符 206

10.3.3  逻辑运算符 209

10.3.4  位运算符 211

10.3.5  运算符的优先级 211

10.4  实战 212

10.4.1  查看存储引擎和创建数据库 212

10.4.2  位运算的比较 212

10.4.3  逻辑运算的使用 213

10.4.4  浮点数类型 213

10.5  小结 213

10.6  学习成果检验 213

第11章  MySQL函数之选 214

 视频讲解:26分钟

11.1  MySQL函数 215

11.2  数学函数 215

11.2.1  ABS(x)函数 216

11.2.2  FLOOR(x)函数 216

11.2.3  RAND()函数 217

11.2.4  PI()函数 217

11.2.5  TRUNCATE(x,y)函数 217

11.2.6  ROUND(x)函数和ROUND(x,y)函数 217

11.2.7  SQRT(x)函数 218

11.3  字符串函数 218

11.3.1  INSERT(s1,x,len,s2)函数 219

11.3.2  UPPER(s)、UCASE(s)函数 219

11.3.3  LEFT(s,n)函数 220

11.3.4  RTRIM(s)函数 220

11.3.5  SUBSTRING(s,n,len)函数 220

11.3.6  REVERSE(s)函数 220

11.3.7  FIELD(s,s1,s2,...)函数 221

11.4  日期和时间函数 221

11.4.1  CURDATE()函数和CURRENT_DATE()

函数 222

11.4.2  CURTIME()函数和CURRENT_TIME()

函数 222

11.4.3  NOW()函数 223

11.4.4  DATEDIFF(d1,d2)函数 223

11.4.5  ADDDATE(d,n)函数 223

11.4.6  ADDDATE(d,INTERVAL expr type)

函数 224

11.4.7  SUBDATE(d,n)函数 224

11.5  条件判断函数 224

11.6  系统信息函数 225

11.6.1  获取MySQL版本号、连接数和数据库名

的函数 225

11.6.2  获取用户名的函数 225

11.6.3  获取字符串的字符集和排序方式的

函数 226

11.7  加密函数 226

11.7.1  加密函数PASSWORD(str) 227

11.7.2  加密函数MD5(str) 227

11.8  其他函数 227

11.8.1  格式化函数FORMAT(x,n) 228

11.8.2  改变字符集的函数 228

11.8.3  改变字段数据类型的函数 229

11.9  实战 229

11.9.1  字符串函数的使用 229

11.9.2  查看当前数据库版本号 229

11.9.3  生成3个1~100之间的随机整数 230

11.9.4  数字函数的使用 230

11.9.5  加密函数的使用 230

11.10  小结 230

11.11  学习成果检验 231

第12章  MySQL基本操作 232

 视频讲解:37分钟

12.1  MySQL数据库操作 233

12.1.1  创建数据库CREATE DATABASE 233

12.1.2  查看数据库SHOW DATABASES 233

12.1.3  选择数据库USE DATABASE 233

12.1.4  删除数据库DROP DATABASE 234

12.2  MySQL数据表操作 234

12.2.1  创建数据表CREATE TABLE 234

12.2.2  查看表结构SHOW COLUMNS

或DESCRIBE 235

12.2.3  修改表结构ALTER TABLE 236

12.2.4  重命名表RENAME TABLE 237

12.2.5  删除表DROP TABLE 237

12.3  MySQL语句操作 237

12.3.1  插入记录INSERT 238

12.3.2  查询数据库记录SELECT 238

12.3.3  修改记录UPDATE 241

12.3.4  删除记录DELETE 241

12.4  实战 242

12.4.1  操作teacher表 242

12.4.2  登录数据库系统 242

12.4.3  读取MySQL数据库中数据

(PHP语言) 243

12.4.4  备份和恢复MySQL数据库

(Java语言) 244

12.4.5  查看表详细结构语句SHOW CREATE 

TABLE 245

12.5  小结 245

12.6  学习成果检验 246

第13章  MySQL数据查询 247

 视频讲解:60分钟

13.1  基本查询语句 248

13.2  单表查询 248

13.2.1  查询所有字段 249

13.2.2  查询指定字段 249

13.2.3  查询指定数据 249

13.2.4  带IN关键字的查询 250

13.2.5  带BETWEEN AND的范围查询 250

13.2.6  带LIKE的字符匹配查询 250

13.2.7  用IS NULL关键字查询空值 251

13.2.8  带AND的多条件查询 251

13.2.9  带OR的多条件查询 252

13.2.10  用DISTINCT关键字去除结果中的

重复行 252

13.2.11  用ORDER BY关键字对查询结果

排序 252

13.2.12  用GROUP BY关键字分组查询 253

13.2.13  用LIMIT限制查询结果的数量 254

13.3  聚合函数查询 254

13.3.1  COUNT()函数 255

13.3.2  SUM()函数 255

13.3.3  AVG()函数 255

13.3.4  MAX()函数 255

13.3.5  MIN()函数 256

13.4  连接查询 256

13.4.1  内连接查询 256

13.4.2  外连接查询 257

13.4.3  复合条件连接查询 258

13.5  子查询 258

13.5.1  带IN关键字的子查询 258

13.5.2  带比较运算符的子查询 259

13.5.3  带EXISTS关键字的子查询 260

13.5.4  带ANY关键字的子查询 260

13.5.5  带ALL关键字的子查询 261

13.6  合并查询结果 262

13.7  定义表和字段的别名 263

13.7.1  为表取别名 263

13.7.2  为字段取别名 263

13.8  使用正则表达式查询 263

13.8.1  匹配指定字符中的任意一个 264

13.8.2  使用"*"和"+"来匹配多个字符 265

13.9  实战 265

13.9.1  使用聚合函数SUM对学生成绩进行

汇总 265

13.9.2  查询大于指定条件的记录 266

13.9.3  使用比较运算符进行子查询 267

13.9.4  GROUP BY与HAVING 关键字 267

13.9.5  用符号"."来替代字符串中的任意一个

字符 267

13.10  小结 268

13.11  学习成果检验 268

第14章  综合实例(二)--留言本 269

 视频讲解:35分钟

14.1  留言本概述 270

14.2  系统分析流程 270

14.2.1  程序业务流程 270

14.2.2  系统预览 270

14.3  数据库设计 271

14.3.1  数据库概要说明 271

14.3.2  数据库概念设计 272

14.3.3  数据库逻辑设计 272

14.4  公共模块设计 274

14.4.1  数据库连接文件 274

14.4.2  将文本中的字符转换为HTML

标识符 274

14.4.3  JavaScript脚本 275

14.5  首页模块设计 276

14.5.1  首页设计概述 276

14.5.2  switch和include语句 277

14.5.3  首页实现过程 278

14.6  用户注册模块设计 279

14.6.1  用户注册模块概述 279

14.6.2  JavaScript脚本验证表单元素 279

14.6.3  用户注册模块实现过程 281

14.7  添加留言模块设计 282

14.7.1  添加留言模块概述 282

14.7.2  mysql_query()函数执行SQL语句 282

14.7.3  添加留言模块实现过程 282

14.8  查看留言模块设计 283

14.8.1  查看留言模块概述 283

14.8.2  验证数据类型与取整 283

14.8.3  查看留言模块实现过程 284

14.9  编辑留言模块设计 286

14.9.1  编辑留言模块概述 286

14.9.2  JavaScript脚本控制弹出对话框 286

14.9.3  编辑留言模块实现过程 287

14.10  查询留言模块设计 287

14.10.1  查询留言模块概述 287

14.10.2  通过mysql_fetch_array()函数返回

结果集 288

14.10.3  查询留言模块实现过程 288

14.11  版主模块设计 289

14.11.1  版主模块概述 289

14.11.2  验证登录用户是否是版主 289

14.11.3  版主管理模块实现过程 290

14.12  小结 291

  

  

第3篇  中级开发

第15章  MySQL存储过程和函数 294

 视频讲解:32分钟

15.1  创建存储过程和存储函数 295

15.1.1  创建存储过程 295

15.1.2  创建存储函数 296

15.1.3  变量的应用 297

15.1.4  光标的运用 299

15.2  流程控制语句 300

15.2.1  IF语句 300

15.2.2  CASE语句 301

15.2.3  WHILE循环语句 302

15.2.4  LOOP循环语句 303

15.2.5  REPEAT循环语句 304

15.3  调用存储过程和存储函数 305

15.3.1  调用存储过程 305

15.3.2  调用存储函数 305

15.4  查看存储过程和函数 305

15.4.1  SHOW STATUS语句 305

15.4.2  SHOW CREATE语句 306

15.5  修改存储过程和函数 306

15.6  删除存储过程和函数 307

15.7  捕获存储过程中的错误 308

15.7.1  定义条件 308

15.7.2  定义处理程序 308

15.8  实战 309

15.8.1  使用存储过程实现用户注册(PHP) 309

15.8.2  修改存储函数 310

15.8.3  从information_schema.Routines表中

查看存储过程 310

15.9  小结 311

15.10  学习成果检验 311

第16章  MySQL事务 312

 视频讲解:14分钟

16.1  MySQL事务概述 313

16.1.1  原子性 313

16.1.2  一致性 314

16.1.3  孤立性 314

16.1.4  持久性 314

16.2  MySQL事务的创建与存在周期 314

16.2.1  初始化事务 315

16.2.2  创建事务 315

16.2.3  应用SELECT语句查看数据是否被

正确输入 316

16.2.4  提交事务 316

16.2.5  撤销事务(事务回滚) 316

16.2.6  事务的存在周期 317

16.3  MySQL行为 317

16.3.1  自动提交 317

16.3.2  事务的孤立级 318

16.3.3  修改事务的孤立级 319

16.4  事务和性能 319

16.4.1  应用小事务 319

16.4.2  选择合适的孤立级 319

16.4.3  死锁的概念与避免 320

16.5  MySQL伪事务 320

16.5.1  用表锁定代替事务 320

16.5.2  应用表锁实现伪事务 322

16.6  实战 322

16.6.1  使用事务处理技术实现银行的安全

转账(PHP) 322

16.6.2  批处理中使用事务(Java) 323

16.7  小结 324

16.8  学习成果检验 324

第17章  触发器 325

 视频讲解:21分钟

17.1  MySQL触发器 326

17.1.1  创建MySQL触发器 326

17.1.2  创建具有多个执行语句的触发器 327

17.2  查看触发器 328

17.2.1  SHOW TRIGGERS 328

17.2.2  查看 triggers表中触发器信息 328

17.3  应用触发器 329

17.4  删除触发器 330

17.5  实战 330

17.5.1  创建一个由INSERT触发的触发器 330

17.5.2  获取数据库中的触发器 331

17.5.3  使用DROP TIRGGER删除触发器 332

17.6  小结 332

17.7  学习成果检验 332

第18章  综合实例(三)--物流管理

系统 333

 视频讲解:83分钟

18.1  物流管理系统概述 334

18.2  系统分析流程 334

18.2.1  需求分析 334

18.2.2  可行性分析 334

18.3  系统设计流程 335

18.3.1  系统目标 335

18.3.2  系统功能结构 335

18.3.3  系统预览 336

18.4  数据库设计 337

18.4.1  数据库分析 337

18.4.2  数据库概念设计 337

18.4.3  创建数据库及数据表 339

18.5  网站首页设计 340

18.5.1  网站首页概述 340

18.5.2  网站首页设计技术 341

18.5.3  网站首页的实现过程 341

18.6  车源信息查询模块设计 342

18.6.1  车源信息查询模块概述 342

18.6.2  模糊查询技术 342

18.6.3  车源信息查询模块的实现过程 344

18.7  发货单管理模块设计 344

18.7.1  发货单管理模块概述 344

18.7.2  发货单编号生成技术 345

18.7.3  发货单填单的实现过程 347

18.7.4  发货单查询的实现过程 348

18.7.5  发货单打印的实现过程 350

18.8  回执单验收管理模块设计 350

18.8.1  回执单模块概述 350

18.8.2  MySQL函数库函数应用技术 351

18.8.3  回执单验收模块的实现过程 352

18.9  基础信息管理模块设计 353

18.9.1  基础信息管理模块概述 353

18.9.2  面向对象封装密码修改类 353

18.9.3  客户信息管理的实现过程 355

18.9.4  车源信息管理的实现过程 356

18.10  小结 358

  

第4篇  进阶提高

第19章  ADODB类库 360

 视频讲解:64分钟

19.1  ADODB类库是什么 361

19.2  ADODB支持的数据库 361

19.3  ADODB下载与安装 362

19.4  ADODB类库 363

19.4.1  连接数据库函数 363

19.4.2  操作数据库函数 365

19.4.3  控制结果集存取方式 369

19.4.4  操作结果集函数 369

19.4.5  处理事务函数 372

19.4.6  生成HTML表格函数 372

19.4.7  生成下拉列表框函数 372

19.4.8  实现分页功能函数 373

19.4.9  错误处理函数 374

19.5  实战 375

19.5.1  实现分页 375

19.5.2  处理事务 376

19.5.3  缓存函数+ADODB动态生成静态页 377

19.5.4  ADODB控制结果集的存取方法 381

19.6  小结 383

19.7  学习成果检验 383

第20章  数据库编程技术 384

 视频讲解:136分钟

20.1  PHP访问MySQL数据库的一般

步骤 385

20.2  PHP操作MySQL数据库的方法 386

20.2.1  使用mysql_connect()函数连接MySQL

服务器 386

20.2.2  使用mysql_select_db()函数选择数据库

文件 387

20.2.3  使用mysql_query()函数执行SQL语句 387

20.2.4  应用mysql_fetch_array()函数从数组结果

集中获取信息 389

20.2.5  应用mysql_fetch_object()函数从结果集中

获取一行作为对象 390

20.2.6  应用mysql_fetch_row()函数逐行获取结果

集中的每条记录 391

20.2.7  应用mysql_num_rows()函数获取查询

结果集中的记录数 393

20.2.8  关闭连接 394

20.3  管理MySQL数据库中的数据 395

20.3.1  应用insert命令动态添加公告信息 395

20.3.2  应用select命令查询公告信息 397

20.3.3  解决截取公告主题乱码问题 398

20.3.4  分页显示公告信息 400

20.3.5  应用update命令动态编辑公告信息 402

20.3.6  应用delete命令动态删除公告信息 403

20.4  PHP操作MySQL事务 404

20.5  PHP操作MySQL存储过程 406

20.6  实战 407

20.6.1  输入页码跳转到指定页 407

20.6.2  图片的分栏分页显示 409

20.6.3  查询图书信息表中的前3条记录 412

20.6.4  对查询结果进行降序排列输出 413

20.7  小结 414

20.8  学习成果检验 414

第21章  PDO数据库抽象层 415

 视频讲解:60分钟

21.1  什么是PDO 416

21.1.1  PDO概述 416

21.1.2  PDO特点 416

21.1.3  安装PDO 416

21.2  PDO连接数据库 417

21.2.1  PDO构造函数 417

21.2.2  DSN详解 417

21.3  PDO中执行SQL语句 418

21.3.1  exec()方法 418

21.3.2  query()方法 418

21.3.3  预处理语句--prepare()和execute() 418

21.4  PDO中获取结果集 418

21.4.1  fetch()方法 418

21.4.2  fetchAll()方法 419

21.4.3  fetchColumn()方法 421

21.5  PDO中捕获SQL语句中的错误 422

21.5.1  使用默认模式--PDO::ERRMODE_

SILENT 422

21.5.2  使用警告模式--PDO::ERRMODE_

WARNING 422

21.5.3  使用异常模式--PDO::ERRMODE_

EXCEPTION 424

21.6  PDO中的错误处理 425

21.6.1  errorCode()方法 425

21.6.2  errorInfo()方法 426

21.7  PDO中的事务处理 427

21.8  PDO中的存储过程 428

21.9  实战 430

21.9.1  通过PDO更新数据库中数据 430

21.9.2  明日书店会员注册 431

21.9.3  添加留言信息 432

21.9.4  查询留言内容 433

21.10  小结 434

21.11  学习成果检验 434

第22章  综合实例(四)--BCTY365

网上社区 435

 视频讲解:138分钟

22.1  BCTY365网上社区概述 436

22.1.1  系统功能结构流程 436

22.1.2  系统预览 437

22.2  数据库设计 438

22.2.1  数据库概要说明 438

22.2.2  数据库概念设计 438

22.2.3  数据库逻辑设计 439

22.3  前台首页设计 441

22.3.1  前台首页概述 441

22.3.2  公告信息的滚动输出技术 442

22.3.3  前台首页的实现过程 444

22.4  注册模块设计 445

22.4.1  注册模块概述 445

22.4.2  通过JavaScript脚本验证表单元素 445

22.4.3  注册模块的实现过程 447

22.5  技术支持模块设计 448

22.5.1  技术支持模块概述 448

22.5.2  分页技术 448

22.5.3  常见问题模块的实现过程 450

22.5.4  客户反馈模块的实现过程 450

22.6  在线订购模块设计 451

22.6.1  在线订购模块概述 451

22.6.2  订单的预览及打印技术 452

22.6.3  购物车的实现过程 453

22.6.4  商品订单的实现过程 456

22.7  社区论坛模块设计 457

22.7.1  社区论坛模块概述 457

22.7.2  页面跳转技术 457

22.7.3  论坛分类的实现过程 458

22.7.4  论坛帖子浏览的实现过程 460

22.7.5  论坛帖子发布的实现过程 462

22.7.6  论坛帖子回复的实现过程 464

22.8  后台首页设计 465

22.8.1  后台首页概述 465

22.8.2  switch框架技术 465

22.8.3  后台首页的实现过程 467

22.9  编程词典管理模块设计 468

22.9.1  编程词典管理模块概述 468

22.9.2  图片上传技术 468

22.9.3  添加编程词典模块的实现过程 469

22.9.4  编辑编程词典模块的实现过程 471

22.10  软件升级管理模块设计 472

22.10.1  软件升级管理模块概述 472

22.10.2  动态输出下拉列表框的值 473

22.10.3  软件升级包上传的实现过程 474

22.10.4  软件升级包删除的实现过程 475

22.11  在线支付技术专题 475

22.12  小结 478

  

  

第5篇  高级应用

第23章  Smarty模板技术 480

 视频讲解:70分钟

23.1  Smarty简介 481

23.1.1  Smarty模板引擎 481

23.1.2  Smarty与MVC 482

23.1.3  Smarty特点 482

23.2  Smarty的安装配置 482

23.2.1  Smarty下载和安装 482

23.2.2  Smarty配置 483

23.2.3  第一个Smarty程序 484

23.3  Smarty模板设计 485

23.3.1  Smarty模板文件 485

23.3.2  注释 485

23.3.3  变量 486

23.3.4  修饰变量 488

23.3.5  流程控制 489

23.4  Smarty程序设计 492

23.4.1  Smarty中的常用方法 492

23.4.2  Smarty的配置变量 493

23.5  实战 494

23.5.1  Smarty模板中日期、时间的格式化

输出 494

23.5.2  Smarty模板中的页面设计 494

23.5.3  网站公告 495

23.5.4  Smarty模板中应用正则表达式 497

23.5.5  if语句判断当前用户权限 499

23.6  小结 500

23.7  学习成果检验 500

第24章  ThinkPHP框架 501

 视频讲解:153分钟

24.1  ThinkPHP简介 502

24.1.1  ThinkPHP框架的特点 502

24.1.2  环境要求 502

24.1.3  下载ThinkPHP框架 502

24.2  ThinkPHP架构 504

24.2.1  ThinkPHP的目录结构 504

24.2.2  自动生成目录 505

24.2.3  项目目录部署方案 505

24.2.4  命名规范 506

24.2.5  项目构建流程 507

24.3  ThinkPHP的配置 508

24.3.1  配置格式 509

24.3.2  调试配置 509

24.4  ThinkPHP的控制器 510

24.4.1  控制器 510

24.4.2  跨模块调用 511

24.5  ThinkPHP的模型 514

24.5.1  模型的命名 514

24.5.2  实例化模型 515

24.5.3  属性访问 518

24.5.4  连接数据库 518

24.5.5  创建数据 521

24.5.6  连贯操作 522

24.5.7  CURD操作 523

24.6  ThinkPHP的视图 528

24.6.1  模板定义 528

24.6.2  模板赋值 528

24.6.3  指定模板文件 529

24.6.4  特殊字符串替换 530

24.7  内置ThinkTemplate模板引擎 533

24.8  小结 538

24.9  学习成果检验 538

第25章  Zend Framework框架 539

 视频讲解:39分钟

25.1  Zend Framework的MVC介绍 540

25.1.1  Zend Framework概述 540

25.1.2  Zend Framework常用组件 540

25.1.3  MVC原理 540

25.2  Zend Framework的MVC环境

搭建 541

25.2.1  环境配置 541

25.2.2  框架结构 542

25.2.3  创建流程 542

25.2.4  Zend Framework的编码标准 545

25.3  Zend_Auth身份认证 546

25.3.1  Zend_Auth适配器 546

25.3.2  身份持久认证 547

25.3.3  数据库认证 550

25.4  Zend_Db数据库操作 551

25.4.1  Zend_Db_Adapter数据库操作 551

25.4.2  Zend_Db_Table数据库操作 551

25.4.3  数据表类 552

25.5  Zend_File文件控制 556

25.5.1  使用Zend_File_Transfer_Adapter_Http

实现POST方式文件上传 556

25.5.2  对上传文件的合理性验证 558

25.5.3  为上传增加过滤规则 558

25.6  Zend_Layout网站布局 559

25.6.1  Zend_Layout概述 559

25.6.2  Zend_Layout使用方法 559

25.6.3  Zend_Layout应用实例 560

25.7  Zend_Paginator分页 562

25.7.1  Zend_Paginator简介 562

25.7.2  Zend_Paginator分页方法 562

25.7.3  Zend_Paginator分页应用 563

25.8  实战 566

25.8.1  Zend_Paginator实现数据分页显示 566

25.8.2  Zend Framework用户身份验证 567

25.8.3  Zend_Mail发送邮件 569

25.8.4  Zend_Form制作用户注册表单 571

25.9  小结 573

25.10  学习成果检验 573

第26章  综合实例(五)--电子商务

网站 574

 视频讲解:53分钟

26.1  电子商务网站概述 575

26.2  系统分析 575

26.2.1  系统目标 575

26.2.2  功能流程结构 575

26.2.3  程序预览 575

26.3  数据库设计 577

26.3.1  数据库分析 577

26.3.2  创建数据库和数据表 578

26.4  公共文件设计 579

26.4.1  数据库连接、管理和分页类文件 579

26.4.2  Smarty模板配置类文件 582

26.4.3  执行类的实例化文件 582

26.5  前台首页设计 582

26.5.1  前台首页概述 582

26.5.2  Smarty模板页中的框架技术 583

26.5.3  前台首页实现过程 583

26.6  登录模块设计 585

26.6.1  登录模块概述 585

26.6.2  Ajax无刷新验证技术 585

26.6.3  用户注册 587

26.6.4  用户登录 588

26.6.5  找回密码 590

26.7  会员信息模块设计 594

26.7.1  会员信息模块概述 594

26.7.2  会员信息查询技术 595

26.7.3  会员中心 595

26.7.4  安全退出 597

26.8  商品展示模块设计 598

26.8.1  商品展示模块概述 598

26.8.2  分页技术 598

26.8.3  商品展示模块的实现过程 599

26.9  购物车模块设计 600

26.9.1  购物车模块概述 600

26.9.2  购物车中商品添加技术 600

26.9.3  购物车展示 602

26.9.4  更改商品数量 604

26.9.5  删除商品 604

26.9.6  保存购物车 606

26.10  收银台模块设计 608

26.10.1  收银台模块概述 608

26.10.2  PDO操作MySQL数据库技术 608

26.10.3  显示订单 609

26.10.4  填写订单 609

26.10.5  处理订单 610

26.11  后台首页设计 611

26.11.1  后台首页概述 611

26.11.2  后台网页布局技术 611

26.11.3  后台首页实现过程 613

26.12  小结 614

  

  

第6篇  项目实战

第27章  易查供求信息网 616

 视频讲解:125分钟

27.1  易查供求信息网概述 617

27.2  系统分析 617

27.2.1  需求分析 617

27.2.2  可行性分析 617

27.3  系统设计 618

27.3.1  系统目标 618

27.3.2  系统功能结构 619

27.3.3  系统预览 620

27.3.4  文件夹组织结构 621

27.4  数据库设计 622

27.4.1  数据库分析 622

27.4.2  数据库概念设计 622

27.4.3  创建数据库及数据表 623

27.5  前台首页设计 624

27.5.1  前台首页概述 624

27.5.2  超链接技术 625

27.5.3  前台首页的实现过程 626

27.6  免费供求信息发布模块设计 627

27.6.1  免费供求信息发布模块概述 627

27.6.2  MySQL数据库连接技术 628

27.6.3  免费供求信息发布模块的实现过程 630

27.7  信息检索模块设计 631

27.7.1  信息检索模块概述 631

27.7.2  模糊查询技术 632

27.7.3  信息检索模块的实现过程 633

27.8  后台首页设计 636

27.8.1  后台首页概述 636

27.8.2  frame框架技术 637

27.8.3  后台首页的实现过程 639

27.9  付费供求信息发布模块设计 640

27.9.1  付费供求信息发布模块概述 640

27.9.2  计算供求信息的有效时间 640

27.9.3  付费供求信息发布模块的实现过程 640

27.10  付费信息管理模块设计 642

27.10.1  付费信息管理模块概述 642

27.10.2  数据的更新和删除技术 643

27.10.3  付费信息显示的实现过程 644

27.10.4  付费信息审核的实现过程 646

27.10.5  付费信息删除的实现过程 647

27.10.6  单元测试 648

27.11  小结 649

第28章  图书馆管理系统 650

 视频讲解:137分钟

28.1  图书馆管理系统概述 651

28.2  需求分析 651

28.3  系统设计 651

28.3.1  系统目标 651

28.3.2  系统功能结构 652

28.3.3  系统流程图 652

28.3.4  系统预览 652

28.3.5  文件夹组织结构 654

28.4  数据库设计 654

28.4.1  数据库分析 654

28.4.2  数据库概念设计 654

28.4.3  创建数据库及数据表 655

28.5  首页设计 656

28.5.1  首页概述 656

28.5.2  权限设置技术 657

28.5.3  首页的实现过程 658

28.6  管理员模块设计 658

28.6.1  管理员模块概述 658

28.6.2  控制文件的访问权限 659

28.6.3  系统登录页面的实现过程 660

28.6.4  查看管理员列表页面的实现过程 661

28.6.5  添加管理员信息页面的实现过程 662

28.6.6  设置管理员权限页面的实现过程 663

28.6.7  删除管理员的实现过程 665

28.7  图书档案管理模块设计 665

28.7.1  图书档案管理模块概述 665

28.7.2  图书档案管理中的多表查询技术 666

28.7.3  查看图书信息列表页面的实现过程 666

28.7.4  添加图书信息页面的实现过程 667

28.7.5  修改图书信息页面的实现过程 668

28.7.6  删除图书信息的实现过程 670

28.8  图书借还模块设计 670

28.8.1  图书借还模块概述 670

28.8.2  图书借还模块中的多表查询技术 670

28.8.3  图书借阅页面的实现过程 671

28.8.4  图书续借页面的实现过程 673

28.8.5  图书归还页面的实现过程 675

28.8.6  图书借阅查询页面的实现过程 676

28.9  小结 678

  

  

  

    PHP+MySQL开发实战

  

目  录

  

VI

  

  

XV