前言
引言
第Ⅰ部分 使用MySQL
第1章 针对MySQL的数据库设计
1.1 为什么使用关系型数据库
1.2 讨厌的异态
1.2.1 更新异态
1.2.2 删除异态
1.2.3 插入异态
1.3 规范化
1.3.1 第一范式
1.3.2 第二范式
1.3.3 第三范式
1.4 关系的类型
1.4.1 一对多关系
1.4.2 一对一关系
1.4.3 多对多关系
1.5 MySQL不支持的特性
1.5.1 引用完整性
1.5.2 事务
1.5.3 存储过程
1.6 小结
第2章 创建和修改表的SQL语言
2.1 定义
2.1.1 空值
2.1.2 索引
2.2 create database语句
2.3 use database语句
2.4 create table语句
2.5 列的类型
2.5.1 文本类型
2.5.2 数字类型
2.5.3 日期和时间类型
2.6 创建索引
2.7 表的类型
2.8 alter table语句
2.8.1 更改表名
2.8.2 添加和删除列
2.8.3 添加和删除索引
2.8.4 更改列定义
2.9 insert语句
2.10 update语句
2.11 删除表/数据库
2.12 show tables
2.13 show columns/show fields
2.14 使用phpMyAdmin
2.15 小结
第3章 使用select语句得到所需的信息
3.1 基本的select语句
3.1.1 where子句
3.1.2 order by
3.1.3 limit
3.1.4 group by和聚合函数
3.2 联接表
3.2.1 两个表的联接(相等联接)
3.2.2 多表联接
3.2.3 外联接
3.2.4 自联接
3.3 MySQL不支持的SQL标准
3.3.1 联合
3.3.2 相关子查询
3.4 小结
第Ⅱ部分 使用PHP
第4章PHP入门——变量
4.1 在脚本内使用简单的变量
4.1.1 定界字符串
4.1.2 在脚本内分配数组
4.1.3 在脚本中为二维数组赋值
4.2 访问通过浏览器输入的变量
4.2.1 HTML表单变量
4.2.2 传递数组
4.2.3 cookie
4.2.4 会话
4.3 使用内置变量
4.3.1 PHP变量
4.3.2 Apache变量
4.3.3 其他的Web服务器变量
4.4 测试变量
4.4.1 isset( )
4.4.2 empty( )
4.4.3 is_int( )
4.4.4 is_double( )
4.4.5 is_string( )
4.4.6 is_array( )
4.4.7 is_bool( )
4.4.8 is_object( )
4.4.9 gettype( )
4.5 修改变量类型
4.5.1 类型强制转化
4.5.2 使用settype( )
4.5.3 intval( )、doubleval( )和stringval( )
4.6 可变变量
4.7 小结
第5章 控制结构
5.1 if语句
5.1.1 确定PHP条件的真假
5.1.2 比较运算符
5.1.3 逻辑运算符
5.1.4 复杂的if语句
5.1.5 if ... else语句
5.1.6 if ... elseif语句
5.1.7 if...结构的替换方法
5.2 switch ... case
5.3 循环
5.3.1 while...
5.3.2 do ...while
5.3.3 for
5.3.4 foreach
5.3.5 continue和break
5.3.6 continue
5.3.7 break
5.4 包含文件
5.5 小结
第6章 PHP的内置函数
6.1 函数基础
6.1.1 参数
6.1.2 返回值
6.2 函数文档
6.3 重要的PHP 4函数
6.3.1 MySQL API
6.3.2 字符串处理函数
6.3.3 正则表达式函数
6.3.4 类型转换函数
6.3.5 数组函数
6.3.6 打印函数
6.3.7 日期/时间函数
6.3.8 文件系统函数
6.3.9 随机数产生器函数
6.3.10 cURL函数
6.3.11 会话函数
6.3.12 HTTP首部函数
6.3.13 邮件函数
6.3.14 URL函数
6.3.15 输出缓冲
6.3.16 信息函数
6.4 小结
第7章 编写结构良好且易读的代码
7.1 代码的缩进格式
7.1.1 代码块
7.1.2 函数调用
7.1.3 SQL语句
7.2 包含
7.2.1 include()和require()
7.2.2 include_once()和require_once()
7.3 用户自定义的函数
7.3.1 函数的基础
7.3.2 返回值
7.3.3 使用可变数量的参数
7.3.4 变量的作用范围
7.4 面向对象的程序设计
7.4.1 类
7.4.2 实例化一个对象
7.4.3 继承
7.5 面向对象的方法与过程代码的比较
7.6 注释
7.7 小结
第Ⅲ部分 简单的应用程序
第8章 具有部分安全性的来宾簿程序——Guestbook2000
8.1 确定应用程序的范围和设计目标
8.1.1 必要的页面
8.1.2 需要预防发生的问题
8.2 设计数据库
8.3 代码概述
8.4 代码分解
8.4.1 可重用的函数
8.4.2 有趣的代码流
8.5 脚本
8.6 小结
第9章 调查应用程序
9.1 确定应用程序的范围和设计目标
9.1.1 必要的页面
9.1.2 需要避免发生的问题
9.2 设计数据库
9.3 代码概述
9.4 代码分解
9.4.1 可重用代码
9.5 有趣的代码流
9.5.1 admin_question.php
9.5.2 admin_get_winner.php
9.5.3 admin_winners.php
9.5.4 CLAIM.PHP
9.6 小结
第Ⅳ部分 较复杂的应用程序
第10章 目录程序
10.1 确定应用程序的范围和设计目标
10.1.1 必要的页面
10.1.2 需要防止发生的问题
10.2 数据
10.2.1 一种带缺陷的数据设计
10.2.2 MySQL的怪异
10.2.3 一种更好的数据库方案
10.3 代码概述
10.3.1 OO方法
10.3.2 访问文件系统
10.3.3 上载文件
10.3.4 访问外部实用程序
10.4 代码分解
10.4.1 理论上的对象
10.4.2 使用的对象
10.4.3 类
10.4.4 示例脚本
10.5 小结
第11章 内容管理系统
11.1 确定应用程序的范围和设计目标
11.1.1 必需的页面
11.1.2 需要避免的问题
11.2 设计数据库
11.3 代码概述
11.4 代码分解
11.4.1 可重用函数
11.5 有趣的代码流
11.5.1 co ntent/authenticate.php
11.5.2 content/admin_user.php
11.5.3 content/edit_story.php
11.6 小结
第12章 讨论组应用程序
12.1 确定应用程序的范围和设计目标
12.1.1 需要做的工作
12.1.2 需要预防发生的问题
12.1.3 数据
12.2 代码概述
12.3 代码分解
12.3.1 可重用的函数
12.4 其他文件
12.4.1 index.php
12.5 小结
第13章 问题跟踪系统
13.1 确定应用程序的范围和设计目标
13.1.1 需要做的工作
13.1.2 需要预防发生的问题
13.1.3 设计数据库
13.2 代码概述
13.3 代码分解
13.3.1 可以重用的函数
13.3.2 脚本
13.4 小结
第14章 购物车应用程序
14.1 确定应用程序的范围和设计目标
14.1.1 需要做的工作
14.1.2 需要预防发生的问题
14.2 数据
14.3 配置概述
14.3.1 对加密和安全进行配置
14.3.2 加密工具和安全工具
14.3.3 配置信用卡授权
14.3.4 配置会话处理
14.4 代码概述
14.4.1 会话函数
14.4.2 cURL 函数
14.4.3 与信用卡处理方进行交互
14.5 代码分解
14.5.1 类
14.5.2 脚本
14.7 小结
第Ⅴ部分 附录
附录A HTML表单
附录B PHP/MySQL安装配置简要指南
附录C MySQL实用工具
附录D MySQL用户管理
附录E PHP函数参考
附录F 正则表达式概览
附录G 用户定义函数
附录H PHP和MySQL资源
附录I MySQL函数参考
附录J CD-ROM上的内容