PHP连接MySQL与SQL操作指南
需积分: 6 184 浏览量
更新于2024-08-04
收藏 14KB DOCX 举报
"这篇文档主要介绍了PHP语言与MySQL数据库的操作,包括连接、设置编码、数据安全、SQL语句的使用以及关联查询等基础知识。"
在PHP中与MySQL数据库交互是Web开发中的常见任务,以下是对这些操作的详细解释:
1. MySQL的准备操作
- 连接数据库:`mysqli_connect()`函数用于连接MySQL服务器,它接受主机名、用户名、密码、数据库名和端口号作为参数。例如:`$mydb=mysqli_connect('localhost', '用户名', '密码', '数据库名', 3306);`
- 连接判断:`mysqli_connect_errno()`返回一个整数,0表示连接成功;`mysqli_connect_error()`则返回错误信息字符串。
- 设置编码格式:`mysqli_set_charset()`用于设置字符集,例如:`mysqli_set_charset($mydb, 'utf8');`确保数据的正确编码。
- 转义特殊字符:`mysqli_real_escape_string()`函数用于转义字符串中的特殊字符,防止SQL注入攻击。
- 切换数据库:`mysqli_select_db()`用于切换到指定的数据库,例如:`mysqli_select_db($mydb, '要切换的数据库名');`
- 关闭连接:`mysqli_close()`函数用于关闭数据库连接,例如:`mysqli_close($mydb);`
2. 数据加密
- MD5:`md5($str)`函数可以对字符串进行MD5加密,产生一个32位的十六进制数字。
- SHA1:`sha1($str)`函数则提供SHA1哈希加密,同样返回一个40位的十六进制数字。
3. SQL语句
- 插入数据:`INSERT INTO`语句用于向表中添加新记录,如:`$sql="INSERT INTO 表 (id, name) VALUES (1, '小明'), (2, '小华')";`
- 更新数据:`UPDATE`语句用于修改已有记录,例如:`$sql="UPDATE 表 SET name='小花' WHERE id=1";`
- 删除数据:`DELETE FROM`语句用于删除匹配条件的记录,例如:`$sql="DELETE FROM 表 WHERE id=1";`
- 查询数据:`SELECT`语句用于获取数据,例如:`$sql="SELECT * FROM 表 WHERE id=1";`
- 统计查询:`COUNT()`、`MAX()`、`MIN()`、`AVG()`和`SUM()`函数分别用于计算记录数、最大值、最小值、平均值和总和。
- 模糊查询:`LIKE`操作符用于进行模糊匹配,例如:`$sql="SELECT * FROM 表 WHERE name LIKE '%明%' AND id > 1";`
- 多参数查询:`IN`操作符用于匹配多个参数,例如:`$sql="SELECT COUNT(*) FROM tb_content WHERE id IN (1, 2, 3, 4)";`
- 关联表查询:使用`JOIN`操作符进行多表联合查询,例如:
```
$sql="SELECT tb1.id, tb1.name, tb2.id, tb2.name
FROM tb_table1 AS tb1, tb_table2 AS tb2
WHERE tb1.id = tb2.id";
```
了解以上知识后,开发者便能有效地在PHP中处理MySQL数据库的相关操作,实现数据的存储、检索和管理。在实际项目中,还需要关注SQL优化、事务处理、错误处理等方面,以确保系统的稳定性和安全性。
2023-03-23 上传
2018-06-08 上传
2023-06-01 上传
点击了解资源详情
2010-09-06 上传
2021-10-10 上传
2021-10-10 上传
2020-12-18 上传
2021-01-20 上传
向宇it
- 粉丝: 2w+
- 资源: 38
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践