标题：PHP与MySQL5程序设计
版权信息
书 名: PHP与MySQL5程序设计
  作　者：(W.JasonGilmore)
出版社： 人民邮电出版社
出版时间： 2007
开本： 16
定价: 79.00 元
编辑推荐
《图灵程序设计丛书·Web开发系列·PHP与MySQL5程序设计(第2版)》是久负盛名的经典著作，以涵盖全面详实而著称，对主题的选取和组织从实用出发，在讲述知识之外还加入了作者自己的应用经验，并提供了密集的实战代码示例，充分体现了作者深厚的开发功力。书中对PHP的介绍是迄今为止最为全面的，除了基础知识外，还强调了PHP的面向对象特性、错误和异常处理、安全编程等方面，并讲述了其他图书很少涉及而实践中却非常重要的日期与时间、正则表达式、文件与操作系统、文件上传、PEAR库、Smarty模板、SQLite、PDO等技术。而对MySQL的阐述则围绕动态Web站点的开发展开，透彻而又精到。
《图灵程序设计丛书·Web开发系列·PHP与MySQL5程序设计(第2版)》不仅适合新手快速入门提高，也是有经验程序员必备的参考书。
最好的编程图书应该不是纯粹地讲述理论，而是要切合实际。如果你希望获得PHP编程语言和MySQL数据库服务器的实践经验，对它们有全面的了解，并且想知道如何结合这些卓越的技术创建数据库驱动的动态Web应用程序，那么《图灵程序设计丛书·Web开发系列·PHP与MySQL5程序设计(第2版)》正合你所需。在《图灵程序设计丛书·Web开发系列·PHP与MySQL5程序设计(第2版)》第一版出版后的18个月中，PHP和MySQL社区依旧持续“狂热”地工作着，使得这两项卓越技术又有了显著的发展。因此，这一版增加了很多新内容，篇幅也增加了100多页。 
作者简介
W.Jason Gilmore，世界知名的PHP开发人员，曾开发了大量PHP和MySQL应用程序，并在各大专业媒体发表了众多脍炙人口的文章。目前，Jason在开发之余，还负责着Apress出版公司的开源图书出版项目。 
目录
32.1.3在事件后采取行动568
32.1.4前触发器和后触发器569
32.2MySQL对触发器的支持569
32.2.1创建触发器570
32.2.2查看现有的触发器571
32.2.3修改触发器572
32.2.4删除触发器572
32.2.5级联触发器573
32.3将触发器集成到Web应用程序574
32.4小结575
第33章视图576
33.1视图概述576
33.2MySQL对视图的支持577
33.2.1创建和执行视图577
33.2.2查看视图信息581
33.2.3修改视图582
33.2.4删除视图583
33.2.5更新视图583
33.3将视图结合到Web应用程序中583
33.4小结585
第34章实用数据库查询586
34.1示例数据586
34.2用PEAR创建表格输出587
34.2.1安装HTML_Table587
34.2.2创建一个简单表587
34.2.3创建更可读的行输出589
34.2.4根据数据库数据创建表格589
34.2.5一般化输出过程591
34.3排序输出593
34.4创建分页输出594
34.5列出页码597
34.6子查询598
34.6.1用子查询完成比较599
34.6.2用子查询确定存在性599
34.6.3用子查询维护数据库600
34.6.4在PHP中使用子查询601
34.7游标601
34.7.1游标基础601
34.7.2创建游标602
34.7.3打开游标602
34.7.4使用游标602
34.7.5关闭游标603
34.7.6在PHP中使用游标604
34.8小结604
第35章索引和搜索605
35.1数据库索引605
35.1.1主键索引605
35.1.2唯一索引606
35.1.3常规索引607
35.1.4全文索引608
35.1.5索引最佳实践611
35.2基于表单的搜索611
35.2.1执行简单搜索612
35.2.2扩展搜索功能613
35.2.3执行全文搜索614
35.3小结615
第36章事务616
36.1什么是事务616
36.2MySQL的事务功能616
36.2.1系统需求617
36.2.2表创建617
36.2.3InnoDB配置参数618
36.3示例项目619
36.3.1示例数据620
36.3.2执行示例事务620
36.3.3备份和恢复InnoDB表622
36.3.4用法提示622
36.4用PHP构建事务应用程序622
36.5小结624
第37章导入和导出数据625
37.1示例表625
37.2获得合适的媒介625
37.3导出数据626
37.4导入数据628
37.4.1利用LOADDATAINFILE导入数据628
37.4.2用mysqlimport导入631
37.4.3用PHP加载表数据633
37.5小结634
索引(图灵网站下载)
第1章PHP概述1
1.1历史1
1.1.1PHP42
1.1.2PHP53
1.2PHP的一般特性3
1.2.1实用性3
1.2.2强大功能4
1.2.3可选择性4
1.2.4成本5
1.3小结5
第2章安装配置Apache和PHP6
2.1安装6
2.1.1获得发行包6
2.1.2安装过程7
2.1.3测试安装11
2.1.4定制UNIX构建12
2.1.5定制Windows构建12
2.1.6常见错误13
2.1.7查看并下载文档13
2.2配置13
2.2.1管理PHP的配置指令14
2.2.2PHP的配置指令15
2.3小结29
第3章PHP基础30
3.1界定PHP代码30
3.1.1默认语法30
3.1.2短标记31
3.1.3脚本31
3.1.4ASP风格32
3.1.5嵌入多个代码块32
3.2注释32
3.2.1单行C++语法32
3.2.2Shell语法32
3.2.3多行C语法33
3.3输出33
3.3.1print()33
3.3.2echo()34
3.3.3printf()34
3.3.4sprintf()35
3.4数据类型35
3.4.1标量数据类型35
3.4.2复合数据类型37
3.4.3特殊数据类型38
3.4.4类型强制转换38
3.4.5类型自动转换39
3.4.6与类型有关的函数40
3.4.7类型标识符函数40
3.5标识符41
3.6变量41
3.6.1变量声明42
3.6.2变量作用域43
3.6.3PHP的超级全局变量45
3.6.4变量的变量48
3.7常量49
3.8表达式49
3.8.1操作数50
3.8.2操作符50
3.9字符串插入54
3.9.1双引号55
3.9.2单引号55
3.9.3Heredoc56
3.10控制结构56
3.10.1执行控制语句57
3.10.2条件语句57
3.10.3循环语句59
3.10.4文件包含语句63
3.10.5require_once()65
3.11小结65
第4章函数66
4.1调用函数66
4.2创建函数66
4.2.1按值传递参数67
4.2.2按引用传递参数68
4.2.3默认参数值68
4.2.4可选参数68
4.2.5从函数返回值69
4.2.6嵌套函数70
4.2.7递归函数70
4.2.8变量函数72
4.3函数库73
4.4小结74
第5章数组75
5.1什么是数组75
5.2输出数组76
5.3创建数组77
5.4测试数组79
5.5增加和删除数组元素79
5.6定位数组元素81
5.7遍历数组82
5.8确定数组大小和唯一性85
5.9数组排序86
5.10合并、拆分、接合和分解数组91
5.11其他有用的数组函数95
5.12小结96
第6章面向对象的PHP97
6.1OOP的好处97
6.1.1封装97
6.1.2继承98
6.1.3多态98
6.2关键的OOP概念99
6.2.1类99
6.2.2对象99
6.2.3字段100
6.2.4属性102
6.2.5常量104
6.2.6方法105
6.3类型提示108
6.4构造函数和析构函数108
6.4.1构造函数108
6.4.2析构函数110
6.5静态类成员111
6.6instanceof关键字112
6.7辅助函数112
6.8自动加载对象114
6.9小结114
第7章高级OOP特性115
7.1PHP不支持的高级OOP特性115
7.2对象克隆116
7.2.1克隆示例116
7.2.2__clone()方法117
7.3继承118
7.3.1类继承118
7.3.2继承和构造函数120
7.4接口121
7.4.1实现一个接口122
7.4.2实现多个接口123
7.5抽象类124
7.6反射124
7.6.1编写ReflectionClass类125
7.6.2编写ReflectionMethod类127
7.6.3编写ReflectionParameter类128
7.6.4编写ReflectionProperty类129
7.6.5反射的其他用途130
7.7小结130
第8章错误和异常处理131
8.1配置指令131
8.2错误日志134
8.3异常处理135
8.3.1为什么异常处理很方便136
8.3.2PHP的异常处理实现137
8.4小结140
第9章字符串和正则表达式141
9.1复杂(大括号)偏移语法141
9.2正则表达式142
9.2.1正则表达式语法(POSIX)142
9.2.2PHP的正则表达式函数(POSIX扩展)144
9.2.3正则表达式语法(Perl风格)146
9.3其他字符串函数151
9.3.1确定字符串长度152
9.3.2比较两个字符串152
9.3.3处理字符串大小写154
9.3.4字符串与HTML相互转换155
9.3.5正则表达式函数的替代函数159
9.3.6填充和剔除字符串164
9.3.7字符和单词计数165
9.4使用PEAR：Validate_US167
9.4.1安装Validate_US167
9.4.2使用Validate_US168
9.5小结168
第10章处理文件和操作系统169
10.1了解文件和目录169
10.1.1解析目录路径169
10.1.2文件类型和链接171
10.1.3计算文件、目录和磁盘大小173
10.1.4访问和修改时间175
10.2文件所有权和权限176
10.3文件I/O178
10.3.1资源的概念178
10.3.2换行178
10.3.3文件末尾178
10.3.4打开和关闭文件179
10.3.5读取文件180
10.3.6移动文件指针184
10.3.7写入文件184
10.3.8读取目录内容185
10.4执行Shell命令186
10.5系统级程序执行187
10.5.1清理输入187
10.5.2PHP的程序执行函数188
10.6小结190
第11章PEAR191
11.1流行的PEAR包191
11.2安装和更新PEAR193
11.2.1安装PEAR193
11.2.2PEAR和ISP公司194
11.2.3更新PEAR194
11.3使用PEAR包管理器194
11.3.1查看安装的包195
11.3.2了解安装包的更多信息195
11.3.3安装PEAR包196
11.3.4使用PEAR包197
11.3.5升级PEAR包198
11.3.6卸载PEAR包198
11.3.7降级PEAR包199
11.4小结199
第12章日期和时间200
12.1UNIX时间戳200
12.2PHP的日期和时间库200
12.3日期函数206
12.3.1显示本地化的日期和时间206
12.3.2显示网页的最新修改日期209
12.3.3确定当前月份中的天数209
12.3.4计算当前日期后X天的日期209
12.3.5创建日历210
12.4PHP5.1213
12.4.1Date基础213
12.4.2Date构造函数213
12.4.3访问方法和修改方法214
12.4.4验证函数216
12.4.5处理方法216
12.5小结222
第13章表单和导航提示223
13.1PHP和Web表单223
13.1.1简单示例224
13.1.2向函数传递表单数据225
13.1.3处理多值表单组件226
13.1.4用PHP生成表单227
13.1.5自动选择表单数据228
13.1.6PHP、Web表单和JavaScript229
13.2导航提示231
13.2.1用户友好的URL231
13.2.2“面包屑型”轨迹233
13.2.3创建定制错误处理函数237
13.3小结238
第14章身份认证239
14.1HTTP认证概念239
14.2PHP认证240
14.2.1认证变量240
14.2.2认证方法241
14.3用户登录管理248
14.3.1密码指派248
14.3.2使用CrackLib库测试密码易猜性250
14.3.3一次性URL和密码恢复251
第15章处理文件上传254
15.1通过HTTP协议上传文件254
15.2通过PHP处理上传255
15.2.1PHP的文件上传/资源指令255
15.2.2$_FILES数组256
15.2.3PHP的文件上传函数256
15.2.4上传错误消息258
15.2.5文件上传示例258
15.3利用PEAR：HTTP_Upload261
15.3.1安装HTTP_Upload261
15.3.2了解关于上传文件的更多信息262
15.3.3将上传的文件移动到最终目标263
15.3.4上传多个文件263
15.4小结264
第16章网络265
16.1DNS、服务器和服务265
16.1.1DNS265
16.1.2服务268
16.1.3建立套接字连接269
16.2邮件271
16.2.1配置指令271
16.2.2发送纯文本电子邮件272
16.2.3使用额外的信息首部发送电子邮件272
16.2.4将电子邮件发送给多个接收者273
16.2.5发送HTML格式的电子邮件273
16.2.6发送附件274
16.3IMAP、POP3和NNTP275
16.3.1需求276
16.3.2建立和关闭连接276
16.3.3了解更多关于邮箱和邮件的信息277
16.3.4获取邮件280
16.3.5写邮件286
16.3.6发送邮件286
16.3.7邮箱管理287
16.3.8邮件管理288
16.4流288
16.4.1流包装器和上下文289
16.4.2流过滤器290
16.5常见网络任务291
16.5.1连接一台服务器291
16.5.2端口扫描器292
16.5.3子网转换器293
16.5.4测试用户带宽294
16.6小结295
第17章PHP和LDAP296
17.1LDAP介绍297
17.2在PHP中使用LDAP297
17.2.1连接到LDAP服务器297
17.2.2绑定到LDAP服务器298
17.2.3关闭LDAP服务器连接299
17.2.4获取LDAP数据299
17.2.5处理项值301
17.2.6统计所获取的项302
17.2.7获取属性302
17.2.8排序和比较LDAP项305
17.2.9处理项306
17.2.10回收内存308
17.2.11插入LDAP数据309
17.2.12更新LDAP数据309
17.2.13删除LDAP数据310
17.2.14配置函数311
17.2.15字符编码312
17.2.16处理区分名312
17.2.17错误处理313
17.3小结314
第18章会话处理器315
18.1什么是会话处理315
18.1.1cookie315
18.1.2URL重写316
18.1.3会话处理过程316
18.2配置指令317
18.3关键概念320
18.3.1开始会话320
18.3.2销毁会话321
18.3.3获取和设置会话ID321
18.3.4创建和删除会话变量321
18.3.5编码和解码会话数据322
18.4实际的会话处理示例324
18.4.1自动登录324
18.4.2最近浏览的文档索引325
18.5创建定制会话处理器327
18.5.1将定制会话函数加入到PHP逻辑327
18.5.2基于MySQL的定制会话处理器328
18.6小结330
第19章用Smarty模板化331
19.1什么是模板化引擎331
19.2Smarty介绍333
19.3安装Smarty333
19.4使用Smarty334
19.5Smarty的表现逻辑336
19.5.1注释336
19.5.2变量修饰符336
19.5.3控制结构339
19.5.4语句342
19.6创建配置文件344
19.6.1config_load345
19.6.2引用配置变量345
19.7结合Smarty使用CSS346
19.8缓存347
19.8.1处理缓存生命期347
19.8.2通过is_cached()消除处理开销348
19.8.3为每个模板创建多个缓存348
19.8.4关于缓存的结束语349
19.9小结350
第20章Web服务351
20.1为什么使用Web服务352
20.2真正简单聚合353
20.2.1RSS语法355
20.2.2MagpieRSS356
20.3SimpleXML361
20.3.1SimpleXML函数362
20.3.2SimpleXML方法363
20.4SOAP365
20.4.1NuSOAP366
20.4.2PHP5的SOAP扩展374
20.5使用PHPWeb服务和C#客户381
20.6小结383
第21章安全PHP编程384
21.1安全地配置PHP384
21.1.1安全模式385
21.1.2其他与安全有关的配置参数386
21.2隐藏配置细节388
21.3隐藏敏感数据389
21.3.1注意文档根目录390
21.3.2拒绝访问某些文件扩展名390
21.4清理用户数据390
21.4.1文件删除390
21.4.2跨网站脚本391
21.4.3清理用户输入：解决方案392
21.5数据加密394
21.5.1PHP的加密函数394
21.5.2mhash395
21.5.3MCrypt396
21.6小结397
第22章SQLite398
22.1SQLite介绍398
22.1.1安装SQLite398
22.1.2使用SQLite命令行界面399
22.2PHP的SQLite库400
22.2.1SQLite指令400
22.2.2打开连接400
22.2.3在内存中创建表401
22.2.4关闭连接401
22.2.5查询数据库402
22.2.6解析结果集403
22.2.7获取结果集细节405
22.2.8操作结果集指针406
22.2.9了解表模式的更多信息408
22.2.10操作二进制数据408
22.2.11创建和覆盖SQLite函数409
22.2.12创建聚集函数410
22.3小结411
第23章PDO介绍412
23.1为什么还要另一种数据库抽象层413
23.2使用PDO413
23.2.1安装PDO414
23.2.2PDO的数据库支持414
23.2.3连接到数据库服务器并选择数据库415
23.2.4存取属性416
23.2.5错误处理417
23.2.6查询执行417
23.2.7准备语句418
23.2.8获取数据421
23.2.9设置绑定列423
23.2.10事务424
23.3小结425
第24章MySQL介绍426
24.1MySQL为什么如此流行426
24.1.1灵活性426
24.1.2强大功能427
24.1.3灵活的许可选择428
24.1.4超级活跃的用户群体429
24.2MySQL4429
24.3MySQL5430
24.4著名的MySQL用户430
24.4.1craigslist430
24.4.2雅虎财经431
24.4.3维基百科431
24.5小结431
第25章安装和配置MySQL432
25.1PHP和MySQL许可问题432
25.1.1Linux433
25.1.2Windows433
25.2下载MySQL433
25.3安装MySQL434
25.3.1Linux434
25.3.2Windows437
25.4设置MySQL管理员密码439
25.5启动和停止MySQL439
25.5.1手工控制守护进程439
25.5.2自动启动和停止MySQL441
25.6配置和优化MySQL442
25.6.1mysqld_safe443
25.6.2配置和优化参数443
25.6.3my.cnf文件446
25.7小结448
第26章众多MySQL客户端449
26.1标准客户端选项449
26.2连接选项450
26.3一般选项450
26.4mysql451
26.4.1关键mysql选项451
26.4.2以交互模式使用mysql452
26.4.3查看配置变量和系统状态454
26.4.4以批处理模式使用mysql455
26.4.5有用的mysql提示456
26.5mysqladmin458
26.6其他实用工具459
26.6.1mysqldump459
26.6.2mysqlshow459
26.6.3mysqlhotcopy460
26.6.4mysqlimport460
26.6.5myisamchk461
26.6.6mysqlcheck461
26.7第三方客户端程序462
26.7.1MySQL管理器462
26.7.2phpMyAdmin463
26.7.3MySQL查询浏览器464
26.7.4Navicat465
26.8小结466
第27章MySQL存储引擎和数据类型467
27.1存储引擎467
27.1.1InnoDB468
27.1.2MyISAM468
27.1.3MEMORY470
27.1.4MERGE471
27.1.5BDB471
27.1.6FEDERATED471
27.1.7ARCHIVE472
27.1.8CSV473
27.1.9EXAMPLE473
27.1.10BLACKHOLE473
27.1.11存储引擎FAQ473
27.2数据类型和属性475
27.2.1数据类型475
27.2.2数据类型属性479
27.3操作数据库和表481
27.3.1操作数据库481
27.3.2操作表483
27.3.3修改表结构485
27.3.4INFORMATION_SCHEMA485
27.4小结487
第28章保护MySQL的安全488
28.1首先应当做什么488
28.2保护mysqld守护进程489
28.3MySQL访问权限系统489
28.3.1权限系统的工作方式490
28.3.2访问信息存储在哪里491
28.4用户和权限管理498
28.4.1CREATEUSER498
28.4.2DROPUSER499
28.4.3RENAMEUSER499
28.4.4GRANT和REVOKE命令499
28.4.5查看权限503
28.5限制用户资源503
28.6保护MySQL连接504
28.6.1授权选项504
28.6.2SSL选项505
28.6.3启动启用SSL的MySQL服务器506
28.6.4使用启用SSL的客户端进行连接506
28.6.5在my.cnf文件中存储SSL选项506
28.7小结507
第29章PHP的MySQL扩展508
29.1预备工作508
29.1.1在Linux中启用MySQL扩展508
29.1.2在Windows中启用MySQL扩展508
29.1.3用户权限509
29.1.4示例数据509
29.2PHP的MySQL命令509
29.2.1建立和关闭连接509
29.2.2在单独的文件中存储连接信息511
29.2.3保护连接信息511
29.3选择数据库512
29.4查询MySQL512
29.5获取和显示数据513
29.6插入数据516
29.7修改数据517
29.8删除数据519
29.9所选择的记录和受影响的记录520
29.10获取数据库和表的信息521
29.11获取字段信息523
29.11.1查看表属性526
29.11.2获取错误信息527
29.12辅助函数528
29.13小结530
第30章PHP的mysqli扩展531
30.1预备工作532
30.1.1在UNIX中启用mysqli扩展532
30.1.2在Windows中启用mysqli扩展532
30.1.3示例数据532
30.2使用mysqli扩展532
30.2.1连接MySQL服务器532
30.2.2连接错误报告533
30.2.3选择一个MySQL数据库535
30.2.4关闭MySQL连接536
30.3查询536
30.3.1查询执行536
30.3.2回收查询内存537
30.3.3准备结果集538
30.3.4解析结果539
30.3.5多个查询542
30.3.6准备语句543
30.4数据库事务548
30.5小结549
第31章存储例程550
31.1应当使用存储例程吗550
31.1.1存储例程的优点550
31.1.2存储例程的缺点551
31.2MySQL如何实现存储例程551
31.2.1存储例程权限表551
31.2.2创建存储例程553
31.2.3声明和设置变量554
31.2.4执行存储例程555
31.2.5多语句存储例程556
31.2.6从另一个例程中调用例程562
31.2.7修改存储例程563
31.2.8删除存储例程563
31.2.9查看例程状态563
31.2.10查看例程的创建语法564
31.2.11条件和处理器564
31.3将例程集成到Web应用程序565
31.3.1创建员工奖金界面565
31.3.2获取多条记录566
31.4小结566
第32章MySQL触发器567
32.1介绍触发器567
32.1.1为什么使用触发器567
32.1.2在事件前采取行动568[1]