标题：21天学通PHP
图书信息
作　者：白志强 白志刚 等编著出 版 社： 电子工业出版社出版时间： 2009-1-1页　数：412页开　本： 16开ISBN：9787121079009
内 容 简 介
第一篇主要讲解了PHP基础知识，主要内容包括初识PHP、配置Web服务器和HTML基础。第二篇主要内容是PHP基础语法，包括PHP基础知识、常用流程控制、常用函数、数组、字符串、HTML表单和文件的基本操作。第三篇主要分析了PHP的常见技术，主要讲解了类和对象、会话管理、正则表达式和式样匹配和错误调试与异常处理。第四篇详细介绍了数据库的内容，主要包括数据库基础、SQL语言和MySQL数据库基础、MySQL数据类型、MySQL数据库及其图形化管理工具、数据库的优化和PHP操作数据库。第五篇为综合案例篇，通过一个具体的实例讲解了如何使用PHP进行实际开发。
为什么要写这样一本书
作为一个初学PHP编程的人，最重要的第一步是什么呢？毫无疑问，是选择一本好书。然而令人感到尴尬的是，书店中PHP的书可谓琳琅满目，却很难找到一本适合初学者使用的书。很多书中都充斥着很多复杂难记的语法和概念，让刚开始学习PHP的人一头雾水，就像有一堵无形的墙立在自己面前而无法逾越。　　为了让PHP初学者少走弯路，快速而轻松地学会PHP编程，笔者总结自己学习PHP的经验，并结合多年的开发经验，编写这本能够真正让PHP初学者容易掌握的书。在这本书中，笔者将通过21天的学习规划，让读者快速掌握PHP编程的基本知识。
目录1 PHP基础知识
第1章 初识PHP1.1 介绍PHP 23　　1.1.1 PHP是什么 23　　1.1.2 PHP的前景 23　　1.1.3 PHP的优势 24　　1.1.4 PHP的发展历史 24　　1.2 PHP与ASP、JSP的对比 25　　1.2.1 语言介绍 25　　1.2.2 性能对比 25　　1.3 PHP常用开发工具 26　　1.3.1 PHP代码开发工具 26　　1.3.2 网页设计工具 27　　1.3.3 文本编辑工具 29　　1.4 综合练习 31　　1.5 小结 32　　1.6 习题 32第2章 配置Web服务器2.1 准备工作 34　　2.1.1 选择硬件 34　　2.1.2 选择操作系统 34　　2.1.3 选择服务器软件 35　　2.1.4 选择PHP 35　　2.1.5 选择数据库 35　　2.2 Apache的安装 36　　2.2.1 安装Apache 36　　2.2.2 配置Apache 38　　2.3 PHP的安装与配置 39　　2.3.1 安装PHP 39　　2.3.2 配置PHP 40　　2.4 MySQL数据库的安装与测试 40　　2.4.1 安装MySQL 40　　2.4.2 测试MySQL 43　　2.5 建立关联 43　　2.5.1 设置Apache支持PHP网页 43　　2.5.2 测试Apache与PHP的关联 43　　2.5.3 测试调用MySQL 45　　2.6 综合练习 45　　2.7 小结 46　　2.8 习题 46第3章 HTML基础3.1 HTML简介 48　　3.1.1 了解HTML语言 48　　3.1.2 HTML语言实例 49　　3.2 HTML语法 50　　3.2.1 HTML标签 50　　3.2.2 HTML属性 51　　3.2.3 HTML注释 52　　3.3 HTML文档基本结构 53　　3.3.1 HTML主体标记 53　　3.3.2 HTML头部标记 53　　3.3.3 HTML主体区标记 54　　3.4 字体标签 55　　3.4.1 标题字标记 55　　3.4.2 标题字的对齐属性 56　　3.4.3 文字的修饰标记 57　　3.4.4 字体标记 59　　3.5 段落标记 60　　3.5.1 段落标记 60　　3.5.2 行中断标签 61　　3.5.3 不换行标签 62　　3.6 综合练习 62　　3.7 小结 64　　3.8 习题 65第4章 PHP基础知识4.1 PHP的基本语法 66　　4.1.1 语言风格 66　　4.1.2 PHP在HTML中的嵌入 67　　4.1.3 标识符 68　　4.1.4 注释 69　　4.1.5 echo输出命令 70　　4.1.6 print输出命令 70　　4.2 数据类型 71　　4.2.1 布尔型 71　　4.2.2 整型 72　　4.2.3 浮点型 72　　4.2.4 数据类型的转换 73　　4.2.5 字符串 74　　4.2.6 NULL类型 75　　4.3 变量 75　　4.3.1 变量名 75　　4.3.2 定义和赋值 76　　4.3.3 输出变量 76　　4.3.4 变量类型自动转换 77　　4.3.5 默认变量 78　　4.4 常量 79　　4.4.1 默认常量 79　　4.4.2 自定义常量 80　　4.5 运算符及表达式 80　　4.5.1 算术运算符 81　　4.5.2 赋值运算符 82　　4.5.3 自增自减运算符 82　　4.5.4 位运算符 84　　4.5.5 逻辑运算符 85　　4.5.6 关系运算符 85　　4.5.7 其他运算符 86　　4.5.8 运算符优先级 87　　4.5.9 表达式 88　　4.6 综合练习 88　　4.7 小结 90　　4.8 习题 90第5章 常用流程控制5.1 if语句的使用 92　　5.1.1 只含if的语句 92　　5.1.2 if...else结构语句 93　　5.1.3 嵌套的if...else结构 94　　5.1.4 if语句多种嵌套 95　　5.2 switch语句的使用 96　　5.2.1 switch语句 97　　5.2.2 switch语句的其他形式 98　　5.3 while语句的使用 98　　5.3.1 while循环 99　　5.3.2 do…while循环 100　　5.3.3 while和do…while循环的区别 100　　5.4 for语句的使用 101　　5.4.1 一般形式 101　　5.4.2 多重循环 103　　5.5 break/continue语句的使用 104　　5.5.1 break语句的用法 104　　5.5.2 continue语句的用法 105　　5.5.3 continue和break语句的区别 105　　5.6 综合练习 106　　5.7 小结 108　　5.8 习题 108第6章 常用函数6.1 自定义函数 111　　6.1.1 自定义函数格式 111　　6.1.2 调用用户定义的函数 112　　6.1.3 按值传递参数 112　　6.1.4 引用传递参数 114　　6.1.5 定义默认参数 115　　6.1.6 函数返回值 116　　6.1.7 返回多个值 117　　6.2 函数的高级调用 118　　6.2.1 嵌套调用 118　　6.2.2 递归调用 118　　6.3 函数变量 119　　6.3.1 变量函数 119　　6.3.2 局部变量 120　　6.3.3 全局变量 120　　6.3.4 动态变量 122　　6.3.5 静态变量 123　　6.4 文件包含 123　　6.4.1 require包含文件 123　　6.4.2 include包含文件 124　　6.4.3 require和include的区别 125　　6.4.4 单次调用文件 126　　6.5 数学函数 127　　6.5.1 进位函数 127　　6.5.2 进制转化 128　　6.6 时间函数 129　　6.6.1 日期函数date() 129　　6.6.2 获得日期信息 130　　6.6.3 其他时间函数 131　　6.7 综合练习 132　　6.8 本章小结 134　　6.9 习题 134第7章 数组7.1 定义数组 136　　7.1.1 数组的构成 136　　7.1.2 使用赋值创建数组 136　　7.1.3 使用array()函数创建数组 138　　7.1.4 键名分配 138　　7.1.5 用字符串作键名 139　　7.1.6 键名的新建/修改 140　　7.1.7 创建多维数组 141　　7.2 数组输出与测试 141　　7.2.1 打印变量 141　　7.2.2 输出数组 142　　7.2.3 测试数组 143　　7.3 遍历数组 143　　7.3.1 foreach遍历数组 144　　7.3.2 foreach含键名的遍历 144　　7.3.3 each()函数遍历数组 145　　7.3.4 list()函数遍历数组 146　　7.3.5 for语句遍历 147　　7.3.6 返回键和键值 148　　7.3.7 查找数组元素值 149　　7.4 数组计算 149　　7.4.1 计算元素个数 149　　7.4.2 count()函数的递归 150　　7.4.3 数组运算符 151　　7.4.4 相同元素数组的比较 152　　7.5 数组排序 153　　7.5.1 按标识符排序 153　　7.5.2 按元素值排序 154　　7.5.3 删除原有键名排序 155　　7.6 综合练习 155　　7.7 小结 157　　7.8 习题 157
目录2 PHP基础语法
第8章 字符串8.1 去除特殊字符 159　　8.1.1 去除两端空格 159　　8.1.2 去除左端空格 160　　8.1.3 去除右端空格 161　　8.2 字符串的大小写转换 161　　8.2.1 转换为小写 161　　8.2.2 转换为大写 162　　8.2.3 首字符大写转换 163　　8.2.4 单词首字符大写转换 163　　8.3 比较字符串 164　　8.3.1 比较运算符 164　　8.3.2 区分大小写字符串的比较 165　　8.3.3 不区分大小写字符串的比较 165　　8.3.4 选择性的比较字符串 166　　8.3.5 不区分大小写选择性的比较 167　　8.4 查找与匹配 167　　8.4.1 查找字符串 168　　8.4.2 查找字符串出现次数 169　　8.4.3 查找最后一次的位置 170　　8.4.4 查找第一次的位置 170　　8.5 替换与分隔 171　　8.5.1 字符串的替换 171　　8.5.2 部分替换 172　　8.5.3 分隔字符串 173　　8.6 字符串的其他操作 174　　8.6.1 MD5算法 174　　8.6.2 创建格式化输出 175　　8.7 综合练习 176　　8.8 小结 178　　8.9 习题 178第9章 HTML表单9.1 表单制作 180　　9.2 输入标记<input> 181　　9.2.1 文本域text 182　　9.2.2 密码域password 183　　9.2.3 文件域file 184　　9.2.4 提交与重置按钮 185　　9.2.5 复选框 186　　9.2.6 单选按钮 187　　9.2.7 <select>下拉列表标记 188　　9.3 提交表单信息 190　　9.3.1 get方法提交 190　　9.3.2 post方法提交 192　　9.4 PHP处理表单 193　　9.5 表单验证 195　　9.5.1 用户名验证 195　　9.5.2 邮件地址验证 196　　9.5.3 密码验证 197　　9.6 综合练习 197　　9.7 小结 201　　9.8 习题 201第10章 文件的基本操作10.1 文件访问 203　　10.1.1 判断文件是否存在 203　　10.1.2 访问文件属性 204　　10.1.3 打开文件 205　　10.1.4 关闭文件 206　　10.2 读取文件 206　　10.2.1 读取文件相应字符 206　　10.2.2 读取整个文件 207　　10.2.3 按行读取 208　　10.3 写入数据 208　　10.3.1 写入单行数据 209　　10.3.2 写入多行数据 210　　10.4 指针 211　　10.4.1 查找指针位置 211　　10.4.2 rewind()函数 212　　10.4.3 指针定位 213　　10.5 目录操作 214　　10.5.1 打开目录 214　　10.5.2 关闭目录 215　　10.5.3 读取目录 215　　10.5.4 遍历目录 216　　10.5.5 创建目录 217　　10.5.6 删除目录 218　　10.6 综合练习 219　　10.7 小结 220　　10.8 习题 221
目录3 PHP常见技术
第11章 类和对象11.1 类的使用 223　　11.1.1 类和对象 223　　11.1.2 创建类 224　　11.1.3 实例化类 224　　11.1.4 方法的使用 224　　11.2 类的访问控制 225　　11.2.1 公有属性 226　　11.2.2 改变属性值 226　　11.2.3 私有属性 227　　11.2.4 protected属性 228　　11.2.5 const属性 229　　11.3 类的特性 230　　11.3.1 继承性 230　　11.3.2 多态性 231　　11.4 构造函数 232　　11.4.1 创建构造函数 232　　11.4.2 调用父类构造函数 234　　11.5 析构函数 235　　11.5.1 析构函数的调用 235　　11.5.2 使用其他方法调用析构函数 236　　11.6 $this关键字 236　　11.6.1 调用变量 237　　11.6.2 调用其他方法 237　　11.7 static关键字 238　　11.7.1 静态属性 238　　11.7.2 静态方法 239　　11.8 final关键字 240　　11.8.1 final函数的调用 240　　11.8.2 final类不能被继承 241　　11.8.3 final方法不能被重写 242　　11.9 综合练习 243　　11.10 小结 245　　11.11 习题 245第12章 会话管理12.1 Cookie概述 247　　12.1.1 Cookie的作用 247　　12.1.2 Cookie的限制 248　　12.2 PHP中Cookie的使用 248　　12.2.1 创建Cookie 248　　12.2.2 访问Cookie 249　　12.2.3 Cookie工作时间 249　　12.2.4 Cookie数组 251　　12.3 Session常见函数及用法 251　　12.3.1 启动一个Session 251　　12.3.2 调用Session变量 252　　12.3.3 查看session_id的值 253　　12.3.4 Session的使用 254　　12.4 综合练习 255　　12.5 小结 257　　12.6 习题 258第13章 正则表达式和式样匹配13.1 正则表达式的匹配 259　　13.1.1 一般匹配 259　　13.1.2 特殊匹配 260　　13.2 元字符 260　　13.2.1 行首位置 261　　13.2.2 行尾位置 261　　13.2.3 元字符+ 262　　13.2.4 字符类 263　　13.3 样式匹配函数 264　　13.3.1 表达式匹配 264　　13.3.2 全局匹配 265　　13.3.3 搜索和替换 267　　13.3.4 分隔字符串 268　　13.4 综合练习 269　　13.5 小结 270　　13.6 习题 271第14章 错误调试与异常处理14.1 基本调试策略 273　　14.1.1 调试步骤 273　　14.1.2 配置指令 273　　14.2 语法错误 275　　14.2.1 缺少分号 275　　14.2.2 缺少一个引号 275　　14.2.3 缺少整个引号 276　　14.2.4 缺少关键字 277　　14.2.5 缺少括号 278　　14.2.6 变量前缺少符号 278　　14.3 运行错误 279　　14.3.1 文件操作与权限 279　　14.3.2 连接数据库失败 280　　14.4 逻辑错误 280　　14.4.1 计算错误 281　　14.4.2 不测试返回值 281　　14.5 print语句调试 282　　14.6 综合练习 284　　14.7 小结 285　　14.8 习题 285
目录4 数据库知识
第15章 数据库基础15.1 数据模型 287　　15.1.1 层次模型 287　　15.1.2 网状模型 287　　15.1.3 关系模型 288　　15.2 关系数据库 288　　15.2.1 关系数据库基本概念 288　　15.2.2 关系的基本特点 289　　15.2.3 数据的表示方法 289　　15.3 键的选用 290　　15.3.1 主键 290　　15.3.2 组合键 290　　15.3.3 候选键 291　　15.3.4 外键 291　　15.4 关联类型 292　　15.4.1 一对一关系 292　　15.4.2 一对多关系 292　　15.4.3 多对多关系 293　　15.5 正规化 293　　15.5.1 第一范式 293　　15.5.2 第二范式 294　　15.5.3 第三范式 295　　15.6 完整性 295　　15.6.1 实体完整性 295　　15.6.2 参照完整性 296　　15.6.3 域完整性 296　　15.7 约束 297　　15.7.1 主键约束 297　　15.7.2 唯一约束 297　　15.7.3 外键约束 297　　15.7.4 默认约束 298　　15.8 综合练习 298　　15.9 小结 298　　15.10 习题 299第16章 SQL语言和MySQL数据库基础16.1 SQL语言简介 300　　16.1.1 标准化语言 300　　16.1.2 大小写规则 300　　16.2 MySQL数据库连接 301　　16.2.1 通过客户端登录 301　　16.2.2 通过Windows命令登录 301　　16.2.3 查看MySQL数据库版本 302　　16.3 账号和管理权限 302　　16.3.1 一般用户权限 302　　16.3.2 管理员权限 303　　16.4 创建新用户 303　　16.4.1 grant命令 304　　16.4.2 查看用户权限 305　　16.4.3 revoke命令 305　　16.5 MySQL基本的SQL命令 306　　16.5.1 创建数据库 306　　16.5.2 use命令 306　　16.5.3 创建数据库表 307　　16.5.4 查看数据库 308　　16.5.5 查看数据库表 309　　16.5.6 describe命令 309　　16.5.7 备份数据库 310　　16.5.8 删除数据库 311　　16.6 创建和应用视图 311　　16.6.1 创建视图 311　　16.6.2 查看视图 312　　16.6.3 删除视图 312　　16.7 综合练习 313　　16.8 小结 314　　16.9 习题 314第17章 MySQL数据类型17.1 数值类型 316　　17.1.1 整型 316　　17.1.2 浮点型 317　　17.1.3 定点数 319　　17.2 数据字段修饰符 320　　17.2.1 自动增量设置 320　　17.2.2 自动补齐前导0 321　　17.3 字符串类型 321　　17.3.1 CHAR和VARCHAR数据类型 321　　17.3.2 BLOB和TEXT类型 322　　17.3.3 ENUM类型 323　　17.3.4 SET类型 323　　17.4 日期和时间值 324　　17.4.1 日期时间类型 324　　17.4.2 TIMESTAMP数据类型 325　　17.4.3 获得当前日期 326　　17.4.4 获得当前时间 326　　17.4.5 获得当前日期和时间 327　　17.5 综合练习 327　　17.6 小结 329　　17.7 习题 329第18章 MySQL数据库及其图形化管理工具18.1 数据查询 331　　18.1.1 SELECT查询语句 331　　18.1.2 WHERE子句 332　　18.1.3 And & Or条件查询 333　　18.1.4 模糊查询 334　　18.1.5 联合多列 334　　18.1.6 LIMIT 限定行数 335　　18.1.7 找出某列最大值 336　　18.1.8 计算行数 336　　18.1.9 进行表达式计算 336　　18.1.10 分组查询 337　　18.2 数据的其他操作 338　　18.2.1 排序 338　　18.2.2 插入数据 339　　18.2.3 更新数据 339　　18.2.4 删除数据 340　　18.2.5 批量录入数据 340　　18.3 使用phpMyAdmin管理数据库 341　　18.3.1 phpMyAdmin的安装与配置 341　　18.3.2 创建数据库 341　　18.3.3 创建数据库表 341　　18.3.4 插入数据 343　　18.3.5 导出数据表 343　　18.4 综合练习 344　　18.5 小结 348　　18.6 习题 348第19章 数据库的优化19.1 使用索引 350　　19.1.1 创建索引 350　　19.1.2 索引表查询的影响 351　　19.1.3 查看索引的使用 353　　19.1.4 分析索引的使用 354　　19.1.5 删除索引 354　　19.2 类型的选择 355　　19.2.1 选取最适用的字段属性 355　　19.2.2 表的类型 355　　19.3 锁定表 356　　19.3.1 READ锁定 356　　19.3.2 WRITE锁定 357　　19.3.3 查询表级锁 358　　19.4 其他方法优化 359　　19.4.1 创建临时表 359　　19.4.2 使用外键 359　　19.5 定期优化检查表 360　　19.5.1 分析表 360　　19.5.2 检查表 360　　19.5.3 优化表 361　　19.6 综合练习 361　　19.7 小结 361　　19.8 习题 362第20章 PHP操作数据库20.1 连接和关闭数据库 363　　20.1.1 连接数据库 363　　20.1.2 永久连接 364　　20.1.3 关闭数据库 365　　20.2 操作MySQL数据库 366　　20.2.1 创建数据库 366　　20.2.2 选择数据库 367　　20.2.3 检查错误 368　　20.2.4 删除数据库 369　　20.2.5 查询数据库文件信息 370　　20.2.6 查询数据表文件信息 371　　20.2.7 查询数据库个数 372　　20.2.8 查询数据库中数据表个数 373　　20.2.9 查询数据库的名称 374　　20.2.10 查询数据表的名称 375　　20.3 PHP对数据表的操作 376　　20.3.1 建立数据表 376　　20.3.2 删除数据表 377　　20.3.3 查询表中字段个数 378　　20.3.4 查询表中字段名称 379　　20.4 PHP对数据表记录的操作 381　　20.4.1 插入数据 381　　20.4.2 修改记录 382　　20.4.3 删除记录 383　　20.4.4 提取记录 384　　20.4.5 指定记录提取 386　　20.4.6 提取记录个数 387　　20.5 综合练习 388　　20.6 小结 391　　20.7 习题 391
目录5 综合案例
第21章 PHP开发实例21.1 计数器模块 393　　21.1.1 成品展示 393　　21.1.2 运行原理 393　　21.1.3 模块结构图 394　　21.1.4 实现程序 394　　21.2 留言板模块 396　　21.2.1 成品展示 396　　21.2.2 运行原理 397　　21.2.3 模块结构图 398　　21.2.4 创建数据库 398　　21.2.5 实现程序 399　　21.3 小结 408