《PHP+MySQL开发实战》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:软件开发技术联盟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302318958
  • 页数:678 页
图书介绍:本书主要介绍了PHP 5编程的相关知识,主要内容包括PHP基础知识与XHTML、PHP环境搭建与工具、PHP的基本语法、PHP中的数组等。数据库部分主要包括初识MySQL数据库、MySQL图形化管理工具、MySQL存储引擎和数据类型、MySQL基本操作等内容。本书适合于计算机相关的毕业生、即将毕业的大学生、在校生。为就业、工作而学习的培训班学员、相关技术人员。

第1篇 新手入门 2

第1章 初识PHP环境搭建 2

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

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

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

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

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

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

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

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篇 初级开发 178

第9章 MySQL数据库 178

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

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

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(sl,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,sl,s2,…)函数 221

11.4日期和时间函数 221

11.4.1 CURDATE()函数和CURRENT_DATE()函数 222

11.4.2 CURTIMEQ函数和CURRENT_TIME()函数 222

11.4.3 NOW()函数 223

11.4.4 DATEDIFF(dl,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

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

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

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篇 中级开发 294

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

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

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

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

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篇 进阶提高 360

第19章 ADODB类库 360

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

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

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

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篇 高级应用 480

第23章 Smarty模板技术 480

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

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

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

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篇 项目实战 616

第27章 易查供求信息网 616

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

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