
PHP连接MySQL与数据库操作指南

本文主要介绍如何使用PHP连接MySQL数据库,并执行一些基本的SQL操作,包括连接、设置编码、数据加密、插入、更新、删除、查询等。此外,还涉及到了多参数查询和关联表查询。
在PHP中连接MySQL数据库,可以使用mysqli扩展中的mysqli_connect()函数。例如:
```php
$mydb = mysqli_connect('localhost', '用户名', '密码', '数据库名', 3306);
```
连接成功后,会返回1,失败则返回0。可以通过mysqli_connect_errno()检查连接是否成功,返回0表示成功,非0则表示有错误。同时,mysqli_connect_error()函数可以提供错误信息并终止程序执行。
确保数据传输的编码一致性,使用mysqli_set_charset()函数设置字符集,例如设置为UTF-8:
```php
mysqli_set_charset($mydb, 'utf8');
```
在处理用户输入时,为了防止SQL注入,可以使用mysqli_real_escape_string()函数对特殊字符进行转义:
```php
$str = mysqli_real_escape_string($mydb, $str);
```
在MySQL数据库操作中,切换数据库可以使用mysqli_select_db()函数:
```php
mysqli_select_db($mydb, '要切换的数据库名');
```
完成操作后,别忘了关闭数据库连接:
```php
mysqli_close($mydb);
```
PHP中还有一些常见的数据加密函数,如MD5和SHA1,用于对字符串进行加密:
```php
$encrypted_str_md5 = md5($str);
$encrypted_str_sha1 = sha1($str);
```
接下来是SQL操作的部分:
- 插入数据:使用INSERT INTO语句,如:
```php
$sql = "INSERT INTO 表 (id, name) VALUES (1, '小明'), (2, '小华')";
```
- 更新数据:使用UPDATE语句,例如:
```php
$sql = "UPDATE 表 SET name='小花' WHERE id=1";
// 更改多个字段
$sql = "UPDATE 表 SET id=2, name='小花' WHERE id=1";
```
- 删除数据:使用DELETE FROM语句,例如:
```php
$sql = "DELETE FROM 表 WHERE id=1";
```
- 查询数据:使用SELECT语句,如:
```php
$sql = "SELECT * FROM 表 WHERE id=1";
```
- 查询数量、最大值、最小值、平均值、总和:
```php
$sql = "SELECT COUNT(*) FROM 表 WHERE id=1";
$sql = "SELECT MAX(field) FROM 表";
$sql = "SELECT MIN(field) FROM 表";
$sql = "SELECT AVG(field) FROM 表";
$sql = "SELECT SUM(field) FROM 表";
```
- 模糊查询:使用LIKE操作符,例如:
```php
$sql = "SELECT * FROM 表 WHERE name LIKE '%明%' AND id > 1";
```
- 多参数查询:
```php
$sql = "SELECT COUNT(*) FROM tb_content WHERE id IN (1, 2, 3, 4)";
```
- 关联表查询:通过JOIN操作,例如:
```php
$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操作及关联查询等多个方面。
相关推荐








资源评论

SLHJ-Translator
2025.06.05
内容专注于实践,代码示例丰富,易于理解和应用。😍

正版胡一星
2025.05.08
详细步骤解析,让编程新手也能轻松掌握数据库操作。

以墨健康道
2025.04.08
适合快速查找和回顾PHP与MySQL连接的标准代码。🌊

无声远望
2025.04.02
简洁明了的PHP连接MySQL数据库教程,适合初学者快速入门。

武藏美-伊雯
2025.02.25
针对常见问题提供了解决方案,提高学习效率。

向宇it
- 粉丝: 3w+
最新资源
- Audrey:自托管单用户提要阅读器的安装与使用
- node-jose-tools:Node.js环境下的JOSE处理工具
- GitHub Action确保PR标题遵循常规提交规范
- economizzer:探索开源个人理财管理系统的魅力
- chainsync: 实现区块链交易流式传输的框架介绍
- Spring Boot与Docker集成微服务架构示例
- Node.js与Express框架结合Docker部署教程
- Docker容器内执行Citrus远程集成测试的实践案例
- Forever-Service: 跨平台Linux节点脚本服务化解决方案
- 使用JavaScript监控Ripple账户并格式化交易数据
- Kaggle竞赛中自动化与手动特征工程的应用对比
- 实时在线对弈体验:国际象棋网站开发教程
- 深度解析:我的i3wm与conky配置心得
- 基于Spring Boot和Mybatis的教务管理系统开发
- CloudBank-V1: 实现服务器伪装CloudCoins追踪技术
- 简易Web密码生成与检索工具
- GitHub与EDD下载同步插件使用教程
- 黑曜石示例插件:开发新手指南与功能演示
- React应用中实现Firebase身份验证的教程示例
- 地理栅格层在传单地图的应用与快速渲染技术
- 7年级学生实时课堂代码库的使用指南
- Django Vote:使用Django打造高效投票系统
- React项目实践:NBA应用开发与前端优化
- Ocsigen网站构建与部署指南:从Wiki到GitHub Pages