网站颜色:

PHP与MySQL程序设计(第4版)*9787115253521 W. Jason Gilmore朱涛江.

  • 产品名称:PHP与MySQL程序设计(第4版...
  • 书名:PHP与MySQL程序设计(第4版)/Web开发系列/图灵程序设计丛书
  • 是否是套装:否
  • 书名:PHP与MySQL程序设计(第4版)/Web开发系列/图灵程序设计丛书
  • 出版社名称:人民邮电出版社
  • 定价:89.00元
  • 出版时间:2011年06月
  • 作者:(美)吉尔摩|译者:朱涛江
  • 译者:朱涛江
  • 开本:16开


目录

目 录

第 1章 PHP概述 1
1.1 历史 1
1.1.1 PHP 4 2
1.1.2 PHP 5 3
1.1.3 PHP 5.3 4
1.1.4 PHP 6 4
1.2 一般语言特性 4
1.2.1 实用性 4
1.2.2 强大功能 5
1.2.3 可选择性 5
1.2.4 成本 6
1.3 小结 6

第 2章 环境配置 7
2.1 安装的前提条件 7
2.1.1 下载Apache 8
2.1.2 下载PHP 8
2.1.3 下载文档 9
2.2 在Linux上安装Apache和PHP 9
2.3 在Windows上安装Apache和PHP 11
2.4 在Windows上安装IIS和PHP 12
2.5 测试安装 13
2.6 配置PHP 14
2.6.1 在Linux上构建时配置PHP 14
2.6.2 定制Windows构建 15
2.7 运行时配置 15
2.7.1 管理PHP的配置指令 15
2.7.2 PHP的配置指令 17
2.8 选择代码编辑器 28
2.8.1 Adobe Dreamweaver CS5 28
2.8.2 Notepad++ 28
2.8.3 PDT 28
2.8.4 Zend Studio 29
2.9 选择Web托管服务提供商 29
2.10 小结 30

第3章 PHP基础 31
3.1 在Web页面中嵌入PHP代码 31
3.1.1 默认语法 31
3.1.2 短标签 32
3.1.3 脚本 33
3.1.4 ASP风格 33
3.1.5 嵌入多个代码块 33
3.2 为代码添加注释 33
3.2.1 单行C++语法 33
3.2.2 shell语法 34
3.2.3 多行C语法 34
3.3 向浏览器输出数据 35
3.3.1 print()语句 35
3.3.2 echo()语句 35
3.3.3 printf()语句 36
3.3.4 sprintf() 37
3.4 PHP支持的数据类型 37
3.4.1 标量数据类型 38
3.4.2 复合数据类型 39
3.4.3 使用类型强制转换实现数据类型间的转换 40
3.4.4 类型自动转换 41
3.4.5 与类型有关的函数 41
3.4.6 类型标识符函数 42
3.5 标识符 42
3.6 变量 43
3.6.1 变量声明 43
3.6.2 变量作用域 44
3.6.3 PHP的超级全局变量 47
3.6.4 变量的变量 50
3.7 常量 51
3.8 表达式 51
3.8.1 操作数 52
3.8.2 操作符 52
3.9 字符串插入 56
3.9.1 双引号 57
3.9.2 转义序列 57
3.9.3 单引号 58
3.9.4 大括号 58
3.9.5 heredoc 58
3.9.6 Nowdoc 59
3.10 控制结构 59
3.10.1 条件语句 59
3.10.2 循环语句 61
3.10.3 文件包含语句 65
3.11 小结 67

第4章 函数 68
4.1 调用函数 68
4.2 创建函数 69
4.2.1 按值传递参数 69
4.2.2 按引用传递参数 70
4.2.3 默认参数值 71
4.2.4 使用类型提示 72
4.2.5 从函数返回值 72
4.2.6 递归函数 73
4.3 函数库 75
4.4 小结 76

第5章 数组 77
5.1 什么是数组 77
5.2 创建数组 78
5.2.1 用array()创建数组 79
5.2.2 用list()提取数组 79
5.2.3 用预定义的值范围填充数组 80
5.2.4 测试数组 81
5.3 输出数组 81
5.4 添加和删除数组素 82
5.4.1 在数组头添加素 83
5.4.2 在数组尾添加素 83
5.4.3 从数组头删除素 83
5.4.4 从数组尾删除素 83
5.5 定位数组素 84
5.5.1 搜索数组 84
5.5.2 获取数组键 85
5.5.3 获取数组值 85
5.6 遍历数组 85
5.6.1 获取当前数组键 86
5.6.2 获取当前数组值 86
5.6.3 获取当前数组键和值 86
5.6.4 移动数组指针 87
5.6.5 向函数传递数组值 87
5.7 确定数组的大小和唯 一性 88
5.7.1 确定数组的大小 89
5.7.2 统计数组素出现的频度 89
5.7.3 确定唯 一的数组素 89
5.8 数组排序 90
5.8.1 逆置数组素顺序 90
5.8.2 置换数组键和值 90
5.8.3 数组排序 91
5.9 合并、拆分、接合和分解数组 95
5.9.1 合并数组 95
5.9.2 递归追加数组 95
5.9.3 合并两个数组 96
5.9.4 拆分数组 96
5.9.5 接合数组 97
5.9.6 求数组的交集 98
5.9.7 求关联数组的交集 98
5.9.8 求数组的差集 99
5.9.9 求关联数组的差集 99
5.10 其他有用的数组函数 100
5.10.1 返回一组随机的键 100
5.10.2 随机洗牌数组素 100
5.11 小结 102

第6章 面向对象的PHP 103
6.1 OOP的好处 103
6.1.1 封装 103
6.1.2 继承 104
6.1.3 多态 104
6.2 关键的OOP概念 104
6.2.1 类 104
6.2.2 对象 105
6.2.3 属性 106
6.2.4 常量 110
6.2.5 方法 111
6.3 构造函数和析构函数 114
6.3.1 构造函数 114
6.3.2 析构函数 116
6.4 静态类成员 117
6.5 instanceof关键字 118
6.6 辅助函数 118
6.7 自动加载对象 120
6.8 小结 120

第7章 高 级OOP特性 121
7.1 PHP不支持的高 级OOP 特性 121
7.2 对象克隆 122
7.2.1 克隆示例 122
7.2.2 __clone()方法 123
7.3 继承 124
7.3.1 类继承 124
7.3.2 继承和构造函数 126
7.3.3 继承与延迟静态绑定 127
7.4 接口 128
7.4.1 实现一个接口 129
7.4.2 实现多个接口 130
7.5 抽象类 131
7.6 命名空间介绍 131
7.7 小结 133

第8章 错误和异常处理 134
8.1 配置指令 134
8.2 错误日志 137
8.3 异常处理 139
8.3.1 为什么异常处理很方便 139
8.3.2 PHP的异常处理实现 140
8.3.3 SPL异常 144
8.4 小结 145

第9章 字符串和正则表达式 146
9.1 正则表达式 146
9.1.1 正则表达式语法(POSIX) 147
9.1.2 PHP的正则表达式函数(POSIX扩展) 148
9.1.3 正则表达式语法(Perl风格) 151
9.2 其他字符串函数 157
9.2.1 确定字符串长度 157
9.2.2 比较两个字符串 158
9.2.3 处理字符串大小写 159
9.2.4 字符串与HTML相互转换 161
9.3 正则表达式函数的替代函数 165
9.3.1 填充和剔除字符串 170
9.3.2 统计字符和单词个数 171
9.4 使用PEAR:Validate_US 173
9.4.1 安装Validate_US 174
9.4.2 使用Validate_US 174
9.5 小结 175

第 10章 处理文件和操作系统 176
10.1 了 解文件和目录 176
10.1.1 解析目录路径 176
10.1.2 计算文件、目录和磁盘大小 178
10.1.3 确定访问和修改时间 180
10.2 文件处理 182
10.2.1 资源的概念 182
10.2.2 识别换行符 182
10.2.3 识别文件末尾字符 182
10.2.4 打开和关闭文件 182
10.2.5 读取文件 184
10.2.6 将字符串写入文件 189
10.2.7 移动文件指针 189
10.2.8 读取目录内容 190
10.3 执行shell命令 191
10.4 系统级程序执行 192
10.4.1 清理输入 193
10.4.2 PHP的程序执行函数 194
10.5 小结 196

第 11章 PEAR 197
11.1 PEAR的强大功能:数值格式转换 197
11.2 安装和更新PEAR 198
11.2.1 安装PEAR 198
11.2.2 PEAR和托管公司 199
11.2.3 更新PEAR 200
11.3 使用PEAR包管理器 200
11.3.1 查看安装的PEAR包 200
11.3.2 了解已安装PEAR包的更多信息 200
11.3.3 安装PEAR包 201
11.3.4 将包包含到脚本中 202
11.3.5 升级PEAR包 203
11.3.6 卸载包 203
11.3.7 降级PEAR包 204
11.4 Pyrus介绍 204
11.5 小结 204

第 12章 日期和时间 205
12.1 UNIX时间戳 205
12.2 PHP的日期和时间库 206
12.2.1 验证日期 206
12.2.2 格式化日期和时间 206
12.2.3 将时间戳转换为用户友好的值 209
12.2.4 处理时间戳 210
12.3 日期函数 211
12.3.1 显示本地化的日期和时间 211
12.3.2 显示网页的**新修改日期 214
12.3.3 确定当前月份中的天数 214
12.3.4 确定任意给定月份的天数 215
12.3.5 计算当前日期后X 天的日期 215
12.4 为PHP 5.1+用户提供的日期时间改进 215
12.4.1 DateTime构造函数简介 215
12.4.2 格式化日期 216
12.4.3 实例化后设置日期 216
12.4.4 实例化后设置时间 217
12.4.5 修改日期和时间 217
12.4.6 计算两个日期之差 217
12.5 小结 218

第 13章 处理HTML表单 219
13.1 PHP和Web表单 219
13.2 验证表单数据 221
13.2.1 文件删除 221
13.2.2 跨站点脚本攻击 221
13.2.3 清理用户输入 223
13.2.4 利用Filter扩展验证和清理数据 225
13.2.5 处理多值表单组件 226
13.3 充分利用PEAR:HTML_QuickForm2 227
13.3.1 安装HTML_QuickForm2 227
13.3.2 创建和验证简单的表单 228
13.4 小结 230

第 14章 身份验证 231
14.1 HTTP验证概念 231
14.2 用PHP验证用户 233
14.2.1 PHP验证变量 233
14.2.2 有用的函数 233
14.3 PHP验证方法 234
14.3.1 硬编码的身份验证 234
14.3.2 基于文件的身份验证 235
14.3.3 基于数据库的身份验证 236
14.3.4 利用PEAR:Auth_HTTP 237
14.4 用户登录管理 239
14.4.1 用CrackLib库测试密码易猜性 239
14.4.2 一次性URL和密码恢复 241
14.5 小结 243

第 15章 处理文件上传 244
15.1 通过HTTP协议上传文件 244
15.2 通过PHP上传文件 245
15.2.1 PHP的文件上传/资源指令 245
15.2.2 $_FILES数组 246
15.2.3 PHP的文件上传函数 247
15.2.4 上传错误消息 248
15.2.5 一个简单的示例 248
15.3 利用PEAR:HTTP_Upload 249
15.3.1 安装HTTP_Upload 249
15.3.2 上传文件 250
15.3.3 了解关于已上传文件的更多信息 250
15.3.4 上传多个文件 251
15.4 小结 252

第 16章 网络 253
16.1 DNS、服务器和服务 253
16.1.1 DNS 253
16.1.2 服务 257
16.1.3 建立套接字连接 257
16.2 邮件 259
16.2.1 配置指令 259
16.2.2 使用PHP脚本发送电子邮件 260
16.3 常见网络任务 264
16.3.1 连接服务器 264
16.3.2 创建端口扫描器 265
16.3.3 创建子网转换器 265
16.3.4 测试用户带宽 267
16.4 小结 267

第 17章 PHP和LDAP 268
17.1 在PHP中使用LDAP 269
17.1.1 为PHP配置LDAP 269
17.1.2 连接到LDAP服务器 269
17.1.3 获取LDAP数据 271
17.1.4 统计所获取的项 274
17.1.5 LDAP记录排序 274
17.1.6 插入LDAP数据 275
17.1.7 更新LDAP数据 276
17.1.8 删除LDAP数据 276
17.1.9 处理区分名 277
17.1.10 错误处理 278
17.2 小结 279

第 18章 会话处理程序 280
18.1 什么是会话处理 280
18.2 配置指令 281
18.2.1 管理会话存储介质 281
18.2.2 设置会话文件路径 281
18.2.3 自动启用会话 282
18.2.4 设置会话名称 282
18.2.5 选择cookie或URL重写 282
18.2.6 自动URL重写 282
18.2.7 设置会话cookie的生存期 283
18.2.8 设置会话cookie的有效URL 路径 283
18.2.9 为启用会话的页面设置缓存方向 283
18.3 处理会话 284
18.3.1 开始会话 284
18.3.2 销毁会话 285
18.3.3 设置和获取会话ID 285
18.3.4 创建和删除会话变量 285
18.3.5 编码和解码会话数据 286
18.4 实际的会话处理示例 288
18.4.1 以返回用户的身份自动登录 288
18.4.2 生成**近浏览文档的索引 290
18.5 创建定制会话处理程序 291
18.5.1 将定制会话函数加入到PHP逻辑 292
18.5.2 使用基于MySQL的定制会话处理程序 292
18.6 小结 295

第 19章 用Smarty模板化 296
19.1 什么是模板化引擎 296
19.2 Smarty介绍 298
19.3 安装Smarty 298
19.4 使用Smarty 299
19.5 Smarty的表现逻辑 301
19.5.1 注释 301
19.5.2 变量修饰符 301
19.5.3 控制结构 303
19.5.4 语句 307
19.6 创建配置文件 309
19.6.1 config_load 309
19.6.2 引用配置变量 310
19.7 结合Smarty使用CSS 310
19.8 缓存 311
19.8.1 处理缓存期 311
19.8.2 通过is_cached()消除处理开销 312
19.8.3 为每个模板创建多个缓存 312
19.8.4 关于缓存的结束语 313
19.9 小结 313

第 20章 Web服务 314
20.1 为什么使用Web服务 314
20.2 RSS 315
20.3 SimplePie介绍 318
20.3.1 安装SimplePie 318
20.3.2 用SimplePie解析提要 319
20.3.3 解析多个提要 320
20.4 SimpleXML 321
20.4.1 加载XML 321
20.4.2 解析XML 323
20.5 小结 325

第 21章 保护网站安全 326
21.1 安全地配置PHP 326
21.2 隐藏配置细节 328
21.2.1 隐藏Apache 328
21.2.2 隐藏PHP 329
21.3 隐藏敏感数据 330
21.3.1 隐藏文档根目录 330
21.3.2 拒绝访问某些文件扩展名 330
21.4 数据加密 331
21.4.1 PHP的加密函数 331
21.4.2 MCrypt包 332
21.5 小结 333

第 22章 用jQuery和PHP创建AJAX增强特性 334
22.1 AJAX介绍 334
22.2 jQuery介绍 335
22.2.1 安装jQuery 336
22.2.2 一个简单示例 336
22.2.3 响应事件 336
22.2.4 jQuery和DOM 338
22.3 创建一个用户名存在性验证程序 339
22.4 小结 342

第 23章 构建面向全世界的网站 343
23.1 用gettext翻译网站 343
23.1.1 第 一埠更新网站脚本 344
23.1.2 第 二埠创建本地化库 345
23.1.3 第三埠创建翻译文件 345
23.1.4 第四埠翻译文本 346
23.1.5 第五埠生成二进制文件 346
23.1.6 第六埠在脚本中设置所需语言 346
23.2 本地化日期、数字和时间 347
23.3 小结 348

第 24章 Zend框架介绍 349
24.1 MVC介绍 349
24.2 PHP的框架解决方案 351
24.2.1 CakePHP框架 351
24.2.2 Solar框架 351
24.2.3 symfony框架 352
24.2.4 Zend框架 352
24.3 Zend框架介绍 352
24.3.1 安装Zend框架 353
24.3.2 创建第 一个Zend框架驱动的网站 353
24.4 小结 363

第 25章 MySQL介绍 364
25.1 是什么让MySQL如此流行 364
25.1.1 灵活性 364
25.1.2 强大功能 365
25.1.3 灵活的许可选择 366
25.1.4 超级活跃的用户群体 367
25.2 MySQL的演进 367
25.2.1 MySQL 4 367
25.2.2 MySQL 5 368
25.2.3 MySQL 5.1 368
25.2.4 MySQL 5.4和5.5 369
25.3 著 名的MySQL用户 369
25.3.1 craigslist 369
25.3.2 维基百科 369
25.3.3 其他重要用户 369
25.4 小结 370

第 26章 安装和配置MySQL 371
26.1 下载MySQL 371
26.2 安装MySQL 372
26.2.1 在Linux上安装MySQL 372
26.2.2 在Windows上安装并配置MySQL 374
26.3 设置MySQL管理员密码 376
26.4 启动和停止MySQL 376
26.5 配置和优化MySQL 377
26.5.1 mysqld_safe包装程序 378
26.5.2 MySQL的参数配置和优化 378
26.5.3 my.cnf文件 381
26.6 配置PHP以便与MySQL协作 382
26.6.1 在Linux上重新配置PHP 382
26.6.2 在Windows上重新配置PHP 383
26.7 小结 383

第 27章 MySQL客户端 384
27.1 命令行客户端介绍 384
27.1.1 mysql客户端 384
27.1.2 mysqladmin客户端 391
27.1.3 其他有用的客户端 392
27.1.4 客户端选项 395
27.2 MySQL的GUI客户程序 397
27.3 phpMyAdmin 398
27.4 小结 399

第 28章 MySQL存储引擎和数据类型 400
28.1 存储引擎 400
28.1.1 MyISAM 401
28.1.2 IBMDB2I 402
28.1.3 InnoDB 403
28.1.4 MEMORY 403
28.1.5 MERGE 404
28.1.6 FEDERATED 404
28.1.7 ARCHIVE 405
28.1.8 CSV 406
28.1.9 EXAMPLE 406
28.1.10 BLACKHOLE 406
28.1.11 存储引擎的常见问题 406
28.2 数据类型和属性 407
28.2.1 数据类型 407
28.2.2 数据类型属性 411
28.3 处理数据库和表 414
28.3.1 处理数据库 414
28.3.2 处理表 415
28.3.3 更改表结构 417
28.3.4 INFORMATION_SCHEMA 417
28.4 小结 420

第 29章 保护MySQL的安全 421
29.1 首先应当做什么 421
29.2 保护mysqld守护进程 422
29.3 MySQL访问权限系统 423
29.3.1 权限系统的工作方式 423
29.3.2 访问信息存储在哪里 424
29.4 用户和权限管理 431
29.4.1 创建用户 432
29.4.2 删除用户 432
29.4.3 重命名用户 432
29.4.4 GRANT和REVOKE命令 432
29.4.5 查看权限 437
29.5 限制用户资源 437
29.6 保护MySQL连接 437
29.6.1 授权选项 438
29.6.2 SSL选项 439
29.6.3 启动启用SSL的MySQL服务器 440
29.6.4 使用启用SSL的客户端进行连接 440
29.6.5 在my.cnf文件中存储SSL选项 440
29.7 小结 441

第30章 结合使用PHP与MySQL 442
30.1 进行安装的预备工作 443
30.1.1 在Linux/UNIX中启用mysqli扩展 443
30.1.2 在Windows中启用mysqli扩展 443
30.1.3 使用MySQL本地驱动程序 443
30.1.4 管理用户权限 443
30.1.5 处理示例数据 444
30.2 使用mysqli扩展 444
30.2.1 建立和断开连接 444
30.2.2 处理连接错误 445
30.2.3 获得错误信息 445
30.2.4 在单独的文件中存储连接信息 446
30.2.5 保护连接信息 447
30.3 与数据库交互 447
30.3.1 向数据库发送查询 447
30.3.2 解析查询结果 449
30.3.3 确定所选择的行和受影响的行 450
30.3.4 处理准备语句 451
30.4 执行数据库事务 455
30.4.1 启用自动提交模式 455
30.4.2 提交事务 455
30.4.3 回滚事务 456
30.5 小结 456

第31章 PDO介绍 457
31.1 为什么还要另一种数据库抽象层 458
31.2 使用PDO 458
31.2.1 安装PDO 459
31.2.2 PDO的数据库选项 459
31.2.3 连接到数据库服务器并选择数据库 460
31.2.4 错误处理 461
31.2.5 获取和设置属性 463
31.2.6 查询执行 463
31.2.7 准备语句介绍 464
31.2.8 获取数据 467
31.2.9 设置绑定列 469
31.2.10 处理事务 470
31.3 小结 470

第32章 存储例程 471
32.1 应当使用存储例程吗 471
32.1.1 存储例程的优点 471
32.1.2 存储例程的缺点 472
32.2 MySQL如何实现存储例程 472
32.2.1 创建存储例程 472
32.2.2 声明和设置变量 474
32.2.3 执行存储例程 475
32.2.4 创建和使用多语句存储例程 476
32.2.5 从另一个例程中调用例程 481
32.2.6 修改存储例程 482
32.2.7 删除存储例程 482
32.2.8 查看例程状态 482
32.2.9 查看例程的创建语法 483
32.2.10 条件处理 484
32.3 将例程集成到Web应用程序 484
32.3.1 创建员工奖金界面 484
32.3.2 获取多条记录 485
32.4 小结 485

第33章 MySQL触发器 486
33.1 介绍触发器 486
33.1.1 为什么使用触发器 486
33.1.2 在事件前采取行动 487
33.1.3 在事件后采取行动 487
33.1.4 前触发器和后触发器 488
33.2 MySQL对触发器的支持 488
33.2.1 创建触发器 488
33.2.2 查看现有的触发器 490
33.2.3 修改触发器 491
33.2.4 删除触发器 491
33.3 将触发器集成到Web应用程序 491
33.4 小结 492

第34章 视图 493
34.1 视图介绍 493
34.2 MySQL对视图的支持 494
34.2.1 创建和执行视图 494
34.2.2 查看视图信息 498
34.2.3 修改视图 499
34.2.4 删除视图 499
34.2.5 更新视图 500
34.3 将视图结合到Web应用程序中 500
34.4 小结 501

第35章 实用数据库查询 502
35.1 示例数据 502
35.2 用PEAR创建表格输出 503
35.2.1 安装HTML_Table 503
35.2.2 创建简单表 503
35.2.3 创建更可读的行输出 505
35.2.4 根据数据库数据创建表 505
35.3 排序输出 506
35.4 创建分页输出 507
35.5 列出页码 509
35.6 用子查询查询多个表 510
35.6.1 用子查询完成比较 511
35.6.2 用子查询确定存在性 511
35.6.3 用子查询维护数据库 512
35.6.4 在PHP中使用子查询 512
35.7 用游标迭代结果集 513
35.7.1 游标基础 513
35.7.2 创建游标 513
35.7.3 打开游标 514
35.7.4 使用游标 514
35.7.5 关闭游标 515
35.7.6 在PHP中使用游标 515
35.8 小结 515

第36章 索引和搜索 516
36.1 数据库索引 516
36.1.1 主键索引 516
36.1.2 唯 一索引 517
36.1.3 常规索引 518
36.1.4 全文索引 519
36.1.5 索引**佳实践 522
36.2 基于表单的搜索 522
36.2.1 执行简单搜索 523
36.2.2 扩展搜索功能 524
36.2.3 完成全文搜索 525
36.3 小结 526

第37章 事务 527
37.1 什么是事务 527
37.2 MySQL的事务功能 528
37.2.1 系统需求 528
37.2.2 表创建 528
37.3 示例项目 528
37.3.1 创建表并添加示例数据 529
37.3.2 执行示例事务 529
37.3.3 用法提示 531
37.4 用PHP构建事务应用程序 531
37.5 小结 533

第38章 导入和导出数据 534
38.1 示例表 534
38.2 使用数据定界 534
38.3 导入数据 535
38.3.1 利用LOAD DATA INFILE导入数据 535
38.3.2 用mysqlimport导入数据 538
38.3.3 用PHP加载表数据 540
38.4 导出数据 541
38.5 小结 543
内容介绍

  《PHP与MySQL程序设计(第4版)》是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。《PHP与MySQL程序设计(第4版)》涵盖了两种技术新版本中出现的**新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开 发者在实际中所面临的各种挑战。   《PHP与MySQL程序设计(第4版)》内容全面深入,适合各层次PHP和MySQL开发人员阅读,既是优 秀的学习教程,也可用作参考手册。 _310x310.jpg
热门设计服务