PHP笔记详解:数据库连接、函数与安全实践
需积分: 10 78 浏览量
更新于2024-09-12
收藏 5KB TXT 举报
本篇笔记详细介绍了PHP编程中的关键知识点,包括数据库连接与操作、函数用法、安全性处理、文件上传与处理以及正则表达式等。以下是各部分的详细说明:
1. **数据库连接与操作**
- `mysql_connect`: PHP中的MySQL连接函数,用于建立与MySQL服务器的连接,参数包括用户名、密码。连接成功后,可以调用`mysql_select_db`选择数据库。
- `mysql_query`:执行SQL查询,返回结果集。`mysql_fetch_row`和`mysql_fetch_array`用于逐行获取查询结果,`mysql_num_rows`计算结果集的行数。
- `mysql_insert_id`获取最后一次插入记录的自动增长ID,`mysql_tablename`用于获取当前活跃的数据库表名,`mysql_error`用于获取错误信息,`mysql_close`关闭数据库连接。
2. **PHP文件包含与函数**
- `require()`和`include()`是PHP用于引入文件的函数,前者在运行时强制检查文件是否存在,后者在文件包含时不做检查。它们在PHP脚本执行期间完成文件的加载。
- `$_GET`和`$_POST`是预定义的全局变量,用于接收HTTP请求中的查询字符串和POST数据,通常用于处理表单提交。
- `str_replace`函数用于替换字符串中的指定字符或子串,`md5`则用于生成哈希值,确保数据的唯一性和安全性。
- `htmlspecialchars`用于将特殊字符转换为HTML实体,防止XSS攻击。
3. **数据库操作与分页查询**
- 使用`LIMIT`关键字实现分页查询,如`select * from table limit ($page - 1) * $pagesize, $pagesize`,用于获取特定页的数据。
- `parse_url`函数解析URL结构,常用于处理URL相关操作。
4. **文件操作**
- 处理文件上传时,需使用`enctype="multipart/form-data"`属性的表单,`move_uploaded_file`用于移动上传的文件到指定位置,`is_uploaded_file`检查文件是否成功上传,`$_FILES`存储上传文件信息。
- 文件操作函数如`fopen`, `fread`, `filesize`, `fwrite`, `fclose`分别用于打开、读取、获取文件大小、写入和关闭文件,`unlink`用于删除文件,`mkdir`用于创建目录。
5. **正则表达式与模式匹配**
- `ereg`函数用于执行正则表达式匹配,返回布尔值表示匹配结果。注意,PHP5.3之后,推荐使用`preg_match`代替。
6. **构造函数、析构函数及对象属性访问**
- `__construct()`和`__destruct()`分别为对象的构造函数和析构函数,分别在对象创建和销毁时执行。
- `__set`和`__get`允许自定义对象属性的设置和获取,提供更灵活的属性操作。
- `extends`关键字用于继承,`abstract`和`final`用于声明抽象类和最终类,以及方法的实现方式。
7. **封装与静态方法**
- 类的封装性通过`private`, `protected`, 和 `public`修饰符实现,`extends`和`final`用于控制继承和重写行为。
- `static`关键字用于声明静态方法,这些方法不依赖于类实例,可以在不创建对象的情况下被调用。
8. **常量定义**
- 使用`define`函数定义常量,常量在整个脚本中都是只读的。
通过这篇笔记,学习者可以系统地掌握PHP编程的基础操作,包括数据库交互、文件操作、安全处理和面向对象编程等方面,为进一步深入学习PHP打下坚实基础。
184 浏览量
2019-03-15 上传
129 浏览量
2009-09-19 上传
2014-11-01 上传
175 浏览量
137 浏览量
u010630151
- 粉丝: 0
- 资源: 1
最新资源
- 屏幕截图(iPhone源代码)
- App-PAUSE-TimeMachine
- EnvironmentSwitcher::fire:No repackage, switch environment with one click.(无需重新打包,一键切换环境 )
- 加减乘除在线网页计算器js代码
- JsBridge:android java和javascript桥,灵感来自微信webview jsbridge
- Makefile手册.zip
- OCGumbo(iPhone源代码)
- Tools for iNaturalist-crx插件
- HackTheBox-CTF-Writeups:此备忘单旨在面向CTF玩家和初学者,以帮助他们根据操作系统和难度对Hack The Box Labs进行分类
- HTML5预期年化收益圆形进度条动画代码
- CSE460
- RACDemo:ReactiveCocoa 演示
- JsonLocalize:JsonLocalize可以帮助您轻松轻松地对项目进行本地化!
- HTML5仿超级玛丽网页js小游戏
- blurhash:图像占位符的非常紧凑的表示形式
- SLGSlideShowView(iPhone源代码)