PHP+MySQL开发实战

PHP+MySQL开发实战 pdf epub mobi txt 电子书 下载 2026

出版者:清华大学出版社
作者:软件开发技术联盟 编著
出品人:
页数:0
译者:
出版时间:2013-9-1
价格:89.80元
装帧:平装
isbn号码:9787302318958
丛书系列:软件开发实战
图书标签:
  • PHP+MySQL开发实战
  • 编程
  • php
  • mysql
  • PHP
  • MySQL
  • Web开发
  • 数据库
  • 实战
  • 编程
  • 服务器端
  • Web应用
  • 教程
  • 入门
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《PHP+MySQL开发实战》从初学者的角度讲述使用PHP语言结合MySQL数据库进行程序开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,同时强调“实战”效果。书中在介绍技术的同时提供实例,同时在各章的结尾安排有实战,通过实战来综合应用本章所讲解的知识,做到理论联系实际;每篇的最后一章有一个综合实例,通过一个模块综合讲解本篇所讲解的知识内容;在本书的最后两章中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。

全书共分28章,主要内容包括初识PHP环境搭建、PHP语言基础、PHP流程控制语句、字符串操作与正则表达式、初探数组、日期和时间的管理、程序调试与异常处理、综合实例(一)——在线论坛、MySQL数据库、MySQL存储引擎与运算符、MySQL函数之选、MySQL基本操作、MySQL数据查询、综合实例(二)——留言本、MySQL存储过程和函数、MySQL事务、触发器、综合实例(三)——物流管理系统、ADODB类库、数据库编程技术、PDO数据库抽象层、综合实例(四)——BCTY365网上社区、Smarty模板技术、ThinkPHP框架、Zend Framework框架、综合实例(五)——电子商务网站、易查供求信息网和图书馆管理系统。所有知识都结合具体实例进行介绍,对涉及的程序代码给出了详细的注释,读者可以轻松领会PHP+MySQL程序开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下:

黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程序、提供习题答案、赠送开发案例。

本书适合有志于从事软件开发的初学者、高校计算机相关专业学生和毕业生,也可作为软件开发人员的参考手册,或者高校的教学参考书。

《数据结构与算法:原理、实现与应用》 内容简介 本书是一部面向计算机科学初学者及希望深入理解底层原理的专业开发人员的权威性著作。它系统地阐述了数据结构与算法的核心概念、设计思想、效率分析方法,并通过大量精选的、来源于实际工程问题的实例,展示了如何在现代软件开发中高效地应用这些基础知识。 第一部分:基础理论与分析 第1章:引论与计算模型 本章首先界定了数据结构与算法在计算机科学中的地位,阐明了它们是构建高效软件系统的基石。随后,重点介绍了算法分析的基础——渐近分析。详细讲解了大O表示法 (Big O)、Ω表示法 (Big Omega) 和 Θ表示法 (Big Theta) 的数学定义和实际意义,帮助读者准确评估算法的性能边界。我们探讨了最坏情况、最好情况和平均情况下的时间复杂度与空间复杂度分析方法,并介绍了RAM模型 (随机存取机器模型) 作为基本的计算模型。此外,本章还引入了递归分析的概念,为后续复杂算法(如分治法)的分析打下基础。 第2章:线性数据结构的深入解析 本章聚焦于最基础也是应用最广泛的线性结构。 数组(Arrays):不仅讲解了静态数组和动态数组(如C++的`std::vector`或Java的`ArrayList`)的底层实现和内存布局,还深入分析了缓存局部性对数组操作性能的影响。 链表(Linked Lists):细致区分了单向链表、双向链表和循环链表的结构特点、插入与删除操作的机制,并对比了它们在内存使用和操作效率上的权衡。特别探讨了哨兵节点(Sentinel Nodes)在简化边界条件处理中的妙用。 栈(Stacks)与队列(Queues):从抽象数据类型(ADT)的角度出发,讲解了后进先出 (LIFO) 和 先进先出 (FIFO) 的特性。重点分析了如何使用数组和链表高效实现这两种结构,并给出了栈在表达式求值(中缀转后缀)和递归模拟中的经典应用。队列则详细介绍了循环队列的实现以解决数组实现中的空间浪费问题,并介绍了双端队列 (Deque)。 第3章:非线性结构:树(Trees) 树结构是处理分层数据的核心工具。本章从树的基本术语(根、叶子、深度、高度)开始,逐步深入: 二叉树(Binary Trees):详细介绍了先序、中序、后序遍历的递归与迭代实现,并强调了中序遍历在重构二叉树中的关键作用。 二叉搜索树(BST):阐述了BST的查找、插入和删除操作的原理,并分析了其在极端情况下的性能退化(可能退化为链表)。 平衡搜索树(Balanced Search Trees):这是本章的重点。我们深入剖析了AVL 树和红黑树 (Red-Black Trees) 的旋转操作(单旋与双旋)和平衡维护机制。特别是对红黑树的五条性质及其插入、删除后的再平衡过程进行了详尽的图解说明,帮助读者理解为何其时间复杂度稳定在 $O(log n)$。 B 树与 B+ 树:聚焦于这些结构在外部存储(如数据库索引)中的应用,解释了它们如何通过增加节点分支因子来优化磁盘 I/O 次数。 第二部分:高级算法与设计范式 第4章:散列表(Hash Tables) 散列表提供了近乎 $O(1)$ 的平均查找时间。本章涵盖了散列技术的方方面面: 散列函数设计:探讨了除法散列、乘法散列和通用散列的设计原则,并强调了一致性哈希在分布式系统中的重要性。 冲突解决策略:详细对比了链式法(Separate Chaining)和开放寻址法(Open Addressing)(包括线性探测、二次探测和双重散列),并分析了开放寻址法中聚集(Clustering)问题的成因与解决办法。 性能分析:引入负载因子(Load Factor)的概念,精确分析了不同冲突解决策略下的时间复杂度。 第5章:图论基础与遍历算法 图(Graphs)是描述复杂关系的最佳模型。本章首先定义了图的表示方式,重点对比了邻接矩阵和邻接表在空间和时间效率上的优劣。 随后,深入讲解了图的两种核心遍历算法: 广度优先搜索 (BFS):基于队列实现,用于寻找最短路径(在无权图中)和层级遍历。 深度优先搜索 (DFS):基于栈实现(通常使用递归),用于拓扑排序、强连通分量检测和迷宫求解。 第6章:图的最短路径与最小生成树 本章专注于图论中的优化问题: 最短路径算法: Dijkstra 算法:详细讲解了如何使用优先队列优化算法,解决单源最短路径问题(适用于非负权边)。 Bellman-Ford 算法:介绍了如何处理图中存在的负权边,并阐述了其利用松弛操作检测负权环的机制。 Floyd-Warshall 算法:讲解了动态规划思想在解决所有对间最短路径问题中的应用。 最小生成树 (MST): Prim 算法:从一个顶点开始的贪心策略。 Kruskal 算法:基于边的贪心策略,重点介绍了并查集 (Disjoint Set Union, DSU) 数据结构及其路径压缩和按秩合并的优化,以实现高效的边排序和集合合并。 第7章:排序算法的精深解析 排序是衡量算法熟练度的试金石。本章不仅复习了基础排序(冒泡、插入、选择),更侧重于高性能排序: 快速排序 (Quick Sort):深入探讨了枢轴(Pivot)选择的重要性,分析了随机化快速排序如何避免最坏情况 $O(n^2)$,以及三路快排在处理大量重复元素时的优势。 归并排序 (Merge Sort):强调其稳定性和始终保持 $O(n log n)$ 的时间复杂度,并将其与外部排序的原理联系起来。 堆排序 (Heap Sort):详细介绍了二叉堆 (Binary Heap) 的结构、上滤(Heapify-Up)和下滤(Heapify-Down)操作,并展示了如何利用堆来实现优先级队列。 线性时间排序:探讨了计数排序 (Counting Sort)、基数排序 (Radix Sort) 和 桶排序 (Bucket Sort) 的适用场景和局限性。 第三部分:算法设计范式与高级主题 第8章:分治法 (Divide and Conquer) 本章探讨了将复杂问题分解为独立子问题,再合并子问题解的强大技术。除了归并排序,还包括Strassen 矩阵乘法(展示了如何通过减少乘法次数来优化渐近复杂度)和查找中位数/选择问题。 第9章:动态规划 (Dynamic Programming, DP) DP 是解决具有最优子结构和重叠子问题问题的核心。 自顶向下 (带记忆化) 与自底向上 (表格法):对比两种实现方式的优劣。 经典案例:深入分析了背包问题 (Knapsack Problem)(0/1 背包和完全背包)、最长公共子序列 (LCS)、矩阵链乘法以及最长递增子序列 (LIS) 的 DP 状态转移方程设计。 第10章:贪心算法 (Greedy Algorithms) 贪心策略侧重于每一步都做出局部最优选择。本章通过分析霍夫曼编码 (Huffman Coding)、活动安排问题和分数背包问题,阐明了贪心算法适用的条件以及如何证明其全局最优性。 第11章:摊还分析与高级数据结构 本章超越了简单的最坏情况分析,引入了摊还分析 (Amortized Analysis),用于分析一系列操作的总成本,例如: 斐波那契堆 (Fibonacci Heaps):详细解释了其复杂的操作(如减小键值)如何通过摊还分析保证了近乎常数的平均时间复杂度,及其在更优化的 Dijkstra 算法中的应用。 并查集的优化:再次回顾 DSU 结构,引入路径压缩和按秩/大小合并的结合,证明了其操作复杂度可达到近乎常数级的 $alpha(n)$(反阿克曼函数)。 附录 A:C++ 模板与STL 基础 为便于读者在实际中实现算法,附录提供了必要的 C++ 模板代码结构,并简要介绍了 `std::vector`, `std::map`, `std::priority_queue` 等标准模板库容器在算法实现中的高效利用方法。 本书内容严谨,图文并茂,旨在为读者构建一个坚实、全面的数据结构与算法知识体系,使其能够自信地应对高并发、高性能要求的现代软件开发挑战。

作者简介

目录信息

目 录
第1篇 新手入门
第1章 初识PHP环境搭建 2
视频讲解:66分钟
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
视频讲解:172分钟
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
视频讲解:54分钟
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
视频讲解:92分钟
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
视频讲解:146分钟
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
视频讲解:43分钟
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
视频讲解:72分钟
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
视频讲解:25分钟
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篇 初级开发
第9章 MySQL数据库 178
视频讲解:37分钟
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
视频讲解:33分钟
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
视频讲解:26分钟
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(s1,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,s1,s2,...)函数 221
11.4 日期和时间函数 221
11.4.1 CURDATE()函数和CURRENT_DATE()
函数 222
11.4.2 CURTIME()函数和CURRENT_TIME()
函数 222
11.4.3 NOW()函数 223
11.4.4 DATEDIFF(d1,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
视频讲解:37分钟
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
视频讲解:60分钟
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
视频讲解:35分钟
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篇 中级开发
第15章 MySQL存储过程和函数 294
视频讲解:32分钟
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
视频讲解:14分钟
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
视频讲解:21分钟
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
视频讲解:83分钟
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篇 进阶提高
第19章 ADODB类库 360
视频讲解:64分钟
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
视频讲解:136分钟
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
视频讲解:60分钟
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
视频讲解:138分钟
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篇 高级应用
第23章 Smarty模板技术 480
视频讲解:70分钟
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
视频讲解:153分钟
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
视频讲解:39分钟
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
视频讲解:53分钟
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篇 项目实战
第27章 易查供求信息网 616
视频讲解:125分钟
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
视频讲解:137分钟
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
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

当我拿到《PHP+MySQL开发实战》这本书时,我并没有抱有过高的期望,只是希望它能帮助我巩固一下PHP和MySQL的基础知识。然而,这本书所带来的惊喜,远超我的想象,尤其是在数据库设计方面,它给予了我全新的视角和深刻的启发。 在阅读之前,我对数据库设计并没有一个清晰的理解,往往只是根据需求简单地创建一些表,然后直接开始编写SQL语句。这本书中关于“数据库范式”的讲解,让我茅塞顿开。它清晰地解释了第一范式、第二范式、第三范式等概念,并用生动的例子说明了如何通过遵循这些范式来避免数据冗余和提高数据一致性。更重要的是,书中还探讨了“反范式”的应用,以及在何种情况下可以适当地打破范式以提高查询性能。我特别喜欢书中关于“ER图(Entity-Relationship Diagram)”的绘制和应用的部分,它让我学会了如何可视化地表示数据库中的实体及其之间的关系,这对于理解和设计复杂的数据库结构非常有帮助。书中还提供了一些关于数据库索引设计的策略,以及如何根据业务场景选择合适的索引类型,这让我对如何提升数据库查询效率有了更深刻的认识。通过学习这些内容,我能够更加严谨地设计数据库,构建出更加健壮、高效、易于维护的数据库系统,这对我日后的项目开发起到了至关重要的作用。

评分

对于我而言,选择一本技术书籍,最重要的考察点之一就是其是否能真正帮助我解决实际开发中的问题,而《PHP+MySQL开发实战》在这方面做得尤为出色。书中关于PHP与MySQL交互的安全问题,是我之前一直比较忽视但又非常担心的一个环节。过去,我可能会简单地在PHP代码中进行一些基本的过滤,但对于SQL注入、跨站脚本攻击(XSS)等潜在的严重安全漏洞,我并没有一个系统性的认识和应对方法。这本书用大量篇幅详细讲解了如何有效地防范这些安全威胁。 从PHP端,书中详细介绍了使用预处理语句(Prepared Statements)来防止SQL注入的原理和实践,并提供了相应的代码示例,让我能清晰地理解其工作机制,并能将其快速地应用到我的项目中。同时,对于XSS攻击,书中也提供了多种防御策略,包括输入验证、输出编码以及内容安全策略(CSP)等,并解释了每种策略背后的逻辑以及在不同场景下的适用性。更让我惊喜的是,书中还涉及了一些更深层次的安全话题,比如如何安全地存储敏感数据(如密码的哈希与加盐),以及如何处理用户会话的安全问题。这些内容对于任何一个负责任的开发者来说都是至关重要的。《PHP+MySQL开发实战》将复杂的安全概念以非常易于理解的方式呈现出来,并且通过具体的代码示例,让我能够立即上手,提升了我开发Web应用的整体安全性。这不仅仅是提高了代码质量,更是对我作为一名开发者职业素养的一次深刻提升。

评分

我一直认为,一本优秀的编程书籍,应该能够引导读者从“知其然”走向“知其所以然”,《PHP+MySQL开发实战》在这方面做得非常到位。书中对于PHP中一些核心概念的讲解,比如面向对象编程(OOP)在PHP中的应用,让我有了更清晰的认识。过去,我可能习惯于写一些过程式的代码,虽然也能实现功能,但在代码的可维护性、可重用性和扩展性方面存在明显不足。 《PHP+MySQL开发实战》通过生动的案例,逐步引导我理解类、对象、继承、多态等面向对象的核心概念,并详细展示了如何在PHP中设计和实现一个健壮的面向对象系统。我特别喜欢书中关于“设计模式”的应用部分,它不仅仅是罗列了一些常用的设计模式,更重要的是解释了这些模式为何出现,解决了什么问题,以及如何在PHP项目中实际应用,比如工厂模式、单例模式、观察者模式等。这些模式的引入,极大地提升了我代码的结构化和组织性,让我的项目不再是一个混乱的代码堆砌,而是有清晰的架构和模块划分。通过学习这些,我发现自己写的代码不仅更容易阅读和理解,而且在后续的维护和功能扩展时,也变得更加轻松和高效。这让我体会到了良好的设计对项目长期发展的重要性。

评分

作为一个在PHP开发领域摸爬滚打多年的开发者,我一直对如何提升代码质量和开发效率有着强烈的追求。《PHP+MySQL开发实战》在这方面提供了非常宝贵的指导,尤其是在代码规范和最佳实践方面。过去,我可能更侧重于实现功能,对于代码的可读性、可维护性等方面并没有给予足够的重视,导致后期维护成本较高。 书中关于PHP编码规范的讲解,让我认识到了统一的代码风格的重要性。它详细介绍了PSR(PHP Standard Recommendations)的一些核心规范,例如命名空间、自动加载、编码风格等,并提供了大量的代码示例,让我能够清晰地理解这些规范的意义和如何去遵循。这不仅仅是提高了代码的可读性,更是为团队协作打下了坚实的基础。我特别喜欢书中关于“单元测试”和“集成测试”的章节,它让我明白了编写测试代码的重要性,以及如何通过测试来保证代码的质量和稳定性。书中提供了使用PHPUnit等工具进行测试的详细步骤和示例,让我能够轻松地将测试纳入到我的开发流程中。通过编写测试,我能够更早地发现和修复bug,减少后期返工的成本,并且能够更自信地进行代码的重构和升级。这种对质量的重视,让我对自己的开发能力有了更深的认知和提升。

评分

在我看来,学习一门技术,最重要的是能够将其应用于实际的项目中。《PHP+MySQL开发实战》在这一点上做得非常出色,它不仅仅停留在理论知识的灌输,而是通过大量的实际项目案例,将PHP和MySQL的知识有机地结合起来,让读者能够学以致用。 书中提供了一个贯穿全书的Web应用程序开发案例,从数据库的设计、表的创建、字段的定义,到PHP后端的业务逻辑实现、数据交互、用户界面展示,都进行了详细的讲解。我特别喜欢书中关于“用户注册与登录”模块的实现过程,它详细演示了如何处理表单提交、数据验证、密码加密存储、Session管理以及权限控制等一系列关键的安全和功能性环节。通过这个案例,我不仅学习到了PHP和MySQL的具体用法,更重要的是掌握了如何将这些技术整合起来,构建出一个完整的Web应用程序。书中还涉及到了一些更高级的功能,例如文件上传、图片处理、 AJAX异步交互等,这些都是Web开发中非常常见的需求,通过学习,我能够更加灵活地处理这些问题。这种“实战”的导向,让我能够快速地将学到的知识应用到我的实际工作中,解决实际问题,并且积累宝贵的项目经验。

评分

作为一个长期与PHP和MySQL打交道的开发者,我一直都在寻求能够提升代码效率和优雅性的方法。《PHP+MySQL开发实战》这本书,在这一点上给予了我极大的帮助,尤其是在PHP面向对象编程(OOP)和设计模式的应用方面,它为我打开了一扇新的大门。 过去,我可能更多地停留在过程式编程,虽然也能实现功能,但在代码的可读性、可维护性和可复用性方面存在明显的不足。书中详细地讲解了PHP中类、对象、继承、封装、多态等面向对象的核心概念,并用非常易于理解的例子进行说明。我印象深刻的是关于“工厂模式”和“单例模式”的应用,它教会了我如何通过抽象和封装来简化对象的创建过程,以及如何确保在整个应用程序中只有一个特定类的实例存在。这些设计模式的应用,极大地提升了我代码的结构化和模块化程度,让我的项目不再是一个庞大而混乱的代码集合,而是由清晰定义的模块组成,易于理解和修改。此外,书中还穿插了一些关于代码优化的建议,例如如何合理地使用缓存、如何避免不必要的数据库查询等,这些都直接关系到应用程序的性能。通过学习和实践这些OOP和设计模式的思想,我能够编写出更加健壮、高效、易于维护的代码,这对于我日后的技术发展具有深远的意义。

评分

作为一个长期从事Web开发的开发者,我深知数据库的性能直接关系到整个应用的响应速度和用户体验。《PHP+MySQL开发实战》在讲解MySQL数据库性能优化方面,给出了非常系统和实用的指导,远超我之前的认知水平。过去,我可能仅限于了解基本的SQL语句写法,对于如何让SQL语句运行得更快,我并没有一个深入的理解。 书中关于MySQL的查询优化技巧,让我耳目一新。它不仅仅是介绍了一些通用的SQL优化技巧,例如避免使用`SELECT *`、合理使用`WHERE`子句等,更重要的是深入到MySQL的查询执行计划(Explain Plan)分析。我学会了如何通过`EXPLAIN`命令来查看SQL语句的执行过程,理解其工作原理,从而 pinpoint 潜在的性能瓶颈。书中还详细讲解了索引的创建、使用和管理,以及如何根据实际的查询场景选择合适的索引类型。我特别关注了书中关于“数据库范式”和“反范式”的讨论,它让我理解了在不同场景下,如何权衡数据冗余与查询效率。通过书中提供的多个实际案例,我能够清晰地看到,如何通过优化SQL语句和数据库结构,将查询时间从几秒甚至几十秒缩短到毫秒级别。这种能力的提升,对于我日后处理大规模数据和高并发请求的应用开发,具有不可估量的价值,让我对数据库性能优化有了更深层次的理解和信心。

评分

在我看来,一本优秀的编程书籍,不应该仅仅停留在技术的表面,更应该能够引导读者去理解技术背后的原理和思想。《PHP+MySQL开发实战》在这方面做得非常出色,它不仅仅是教会你如何写代码,更是让你理解为什么这么写。 书中对于PHP中内存管理和性能优化的讲解,让我印象尤为深刻。过去,我可能仅仅知道PHP脚本的执行流程,但对于其底层的内存分配、垃圾回收机制等并不了解。这本书用清晰的图示和通俗的语言,详细解释了PHP引擎的工作原理,包括变量的生命周期、引用计数、Zend引擎等。这让我能够更深入地理解,为什么某些代码会导致内存泄漏,以及如何编写更高效的代码来减少资源消耗。我特别关注了书中关于“性能剖析(Profiling)”的部分,它教会了我如何使用Xdebug等工具来分析PHP脚本的执行时间和内存占用,从而 pinpoint 性能瓶颈,并提供有针对性的优化方案。这种深入到底层的分析方法,让我不再仅仅是“拍脑袋”去优化,而是能够基于数据和原理进行科学的决策。通过理解这些底层机制,我能够更有效地编写高性能的PHP应用程序,并且能够更好地与其他开发者进行技术交流和讨论。

评分

作为一个对PHP和MySQL充满兴趣的开发者,我一直希望能找到一本既能深入浅出讲解基础,又能覆盖实际开发中常用技巧的书籍。偶然间翻阅了《PHP+MySQL开发实战》,初衷是希望能系统梳理一下这两门技术,没想到却收获了远超预期的知识和启发。这本书的优点远不止于此,它就像一位经验丰富的老友,在你遇到技术瓶颈时,总能提供最恰当的建议和解决方案。 举个例子,书中关于MySQL的索引优化部分,让我印象极为深刻。过去,我常常凭借直觉去创建索引,对于某些查询性能不佳的问题,也只能通过暴力测试来摸索。然而,《PHP+MySQL开发实战》中对不同索引类型(如B-tree、Hash、Full-text)的原理、适用场景以及在实际查询中的作用进行了详尽的阐述。它不仅仅是告诉你要创建索引,更是深入剖析了索引是如何工作的,如何影响查询的执行计划,以及如何避免“索引失效”等常见陷阱。书中提供的各种优化案例,从简单的`WHERE`子句优化到复杂的`JOIN`语句调优,都配有清晰的SQL语句对比和执行计划分析,让我能直观地理解索引优化带来的性能提升。我特别喜欢其中关于“慢查询日志”的分析部分,教会了我如何定位到真正的性能瓶颈,而不是盲目地对所有查询进行优化。这对于实际项目中海量数据的查询效率提升起到了至关重要的作用,也让我对数据库性能调优有了更深刻的认识,不再仅仅停留在理论层面,而是真正具备了实操能力。

评分

在我看来,一本真正的好书,应该能够激发读者的思考,并引导读者去探索更广阔的技术领域,《PHP+MySQL开发实战》在这方面做得非常出色。书中不仅仅停留在基础知识的讲解,而是通过对PHP与MySQL结合的深入剖析,为读者打开了一扇通往更复杂、更高级应用的大门。 书中对于如何构建一个可扩展、高性能的Web应用程序架构的讨论,给我留下了深刻的印象。它不仅仅是提供了一些零散的技术点,而是从整体架构的角度出发,讲解了如何将PHP和MySQL进行有效的整合,以应对日益增长的用户量和数据量。我特别喜欢书中关于“MVC(Model-View-Controller)”设计模式的讲解,它清晰地阐述了如何通过分离关注点来组织代码,提高代码的可维护性和可扩展性。通过书中提供的实际项目示例,我能够清晰地看到,如何将数据库操作、业务逻辑和用户界面进行解耦,从而构建出清晰、易于管理的应用程序。此外,书中还涉及了一些关于性能调优和缓存策略的内容,例如使用Memcached或Redis来加速数据访问,以及如何设计高效的数据库查询。这些内容让我意识到,一个优秀的Web应用不仅需要编写功能代码,更需要考虑其整体的性能和可扩展性。这本书为我提供了一个思考和实践的框架,让我能够更系统地去设计和构建更复杂的Web应用程序。

评分

垃圾中垃圾,代码写的烂死了,php,css,html,mysql堆在一起,只想说能看吗....一星是因为还可以获取一点知识

评分

垃圾中垃圾,代码写的烂死了,php,css,html,mysql堆在一起,只想说能看吗....一星是因为还可以获取一点知识

评分

垃圾中垃圾,代码写的烂死了,php,css,html,mysql堆在一起,只想说能看吗....一星是因为还可以获取一点知识

评分

垃圾中垃圾,代码写的烂死了,php,css,html,mysql堆在一起,只想说能看吗....一星是因为还可以获取一点知识

评分

垃圾中垃圾,代码写的烂死了,php,css,html,mysql堆在一起,只想说能看吗....一星是因为还可以获取一点知识

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有