0

0

怎样利用PHP+Mysql实现基本的增删改查功能?(实例详解)

WBOY

WBOY

发布时间:2021-12-17 18:47:28

|

4287人浏览过

|

来源于CSDN

转载

本篇文章我们来看一下怎样利用mysql来实现简单的增、删、改、查的功能,其中需要创建多个页面对数据库的数据进行处理,希望对大家有帮助!

怎样利用PHP+Mysql实现基本的增删改查功能?(实例详解)

PHP是一种在服务器端执行的嵌入HTML文档的面向对象、解释型的脚本语言,语言风格类似于c语言。它具有强大的功能,能实现所有的CGI(公共网关接口,服务器与客户端程序进行“交谈”的一种工具)的功能,并比一般CGI有更快的执行速度。

下面的连接操作是在WAMP平台环境下的。如果有还没部署环境的小伙伴可以参考下面链接:http://www.imooc.com/learn/54在视频的第二章有详细讲解。

创建数据库

立即学习PHP免费学习笔记(深入)”;

因为要连接Mysql数据库,所以这里我们就先建一个名叫db_user的数据库

--创建数据库db_user
create database db_user;
--指定当前数据库为db_user
use db_user;
--用户信息表users
create table users
(
user_id int not null auto_increament primary key,
user_name char(10) not null,
user_psw char(10) not null,
user_sex char(1) not null,
user_age int null,
user_dept int not null,
user_group int not null
);
--部门表dept
create table dept
(
dept_id int not null auto_increment primary key,
dept_name char(20) not null,
dept_leader char(10) not null,
dept_location char(50) not null
);
--用户组表usergroup
create table usergroup
(
group_id int not null auto_increment primary key,
group_name char(20) not null,
group_desc char(50) not null
);
--权限表func
create table func
(
func_id int not null auto_increment primary key,
func_name char(20) not null,
func_link char(20) not null
);
--用户组权限表groupfunc
create table groupfunc
(
id int not null auto_increment primary key,
group_id int not null,
func_id int not null
);
--插入一条测试数据
insert into db_user.users(`user_id`, `user_name`, `user_psw`, `user_sex`, `user_age`, `user_dept`, `user_group`) values (2, '隔壁老王', '2396', '男', 33, 0, 1);

系统实现

所有页面文件列表如下:

19.png

接下来,就一步一步讲解各个页面文件的功能与实现 。

1.主页面

创建系统的主页面文件index.html,实现代码如下:

<html>
<head>
<title>一个简单用户管理系统实例</title>
</head>
<body>
<h2>用户管理系统</h2>
<h3>用户管理</h3>
<a href="add_user.php">添加用户</a><br/>
<a href="show_user.php">查看用户</a>
<h3>部门管理</h3>
<a href="add_dept.php">添加部门</a><br/>
<a href="show_dept.php">查看部门</a>
<h3>用户组管理</h3>
<a href="add_usergroup.php">添加用户组</a><br/>
<a href="show_usergroup.php">查看用户组</a>
<h3>权限管理</h3>
<a href="add_fun.php">添加权限</a><br/>
<a href="show_fun.php">查看权限</a>
</body>
</html>

效果:

20.png

2.公共代码模块

新建common.php文件,代码如下,用以连接数据库服务器,这里我们把连接数据库的操作封装成一个公共代码模块,在下面各页面文件中通过<?php require_once "common.php";?> 引入,这样就不用重复编写连接代码了。

<?php
$con=mysql_connect("localhost:3306","root","642765") or die("数据库服务器连接失败!<br>");
mysql_select_db("db_user",$con) or die("数据库选择失败!<br>");
mysql_query("set names 'gbk'");//设置中文字符集
?>

在PHP中,可以使用下面两种函数来建立与Mysql数据库服务器的连接,

mysql_connect():建立非持久连接

mysql_pconnect():建立持久连接

此处建立的是非持久连接。

3.各页面的设计与实现

添加用户

添加用户的web页面文件add_user.php的实现代码如下:

AI Web Designer
AI Web Designer

AI网页设计师,快速生成个性化的网站设计

下载
<?php require_once "common.php";?>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<h3>添加用户</h3>
<form id="add_user" name="add_user" method="post" action="insert_user.php">
用户姓名:<input type="text" name="user_name"/><br/>
用户口令:<input type="text" name="user_psw"/><br/>
用户性别:<input type="text" name="user_sex"/><br/>
用户年龄:<input type="text" name="user_age"/><br/>
所属部门:<select name="show_user_name">
<?php
$sql="select * from dept";
$result=mysql_query($sql,$con);
while($rows=mysql_fetch_row($result)){
echo "<option value=".$rows[0].">".$rows[1]."</option>";
}
?>
</select><br/>
用户组名:<select name="user_group">
    <?php
    $sql="select * from usergroup";
    $result=mysql_query($sql,$con);
    while($rows=mysql_fetch_row($result)){
        echo "<option value=".$rows[0].">".$rows[1]."</option>";
    }
    ?>
    </select><br/>
    <br/>
<input type="submit" value="添加"/>
</form>
</body>
</html>

然后,将程序部署在已开启的wamp平台环境中,并在浏览器中输入“http://localhost:端口号/文件路径”,即可查看效果。大家从网址可能已经发现我的端口号为8080,这是我自定义的,默认的端口号是80(这时就可以不用写端口号,直接localhost)。

效果:

21.png

当添加成功后,页面会自动跳转到下面的web页面

22.png

查看用户

查看用户的web页面文件show_user.php的实现代码如下,可以通过指定用户姓名或用户所属部门来查看该用户的全部个人信息。

<?php require_once "common.php";?>
<html>
<head><title>查看用户</title>
</head>
<body>
<h3>查看用户</h3>
<form id="show_user" name="show_user" method="post" action="select_user.php">
用户姓名:<input type="text" name="show_user_name"/><br/>
所属部门:<select name="show_user_dept">
<option value=0>所有部门</option>
<?php
$sql="select * from dept";
$result=mysql_query($sql,$con);
while($rows=mysql_fetch_row($result)){
echo "<option value=".$rows[0].">".$rows[1]."</option>";
}
?>
</select><br/>
<br/>
<input type="submit" value="查看"/>
</form>
</body>
</html>

效果:

23.png

点击查看按钮,即会跳转到下面页面

24.png

从图中可以看出,在该用户的查看结果页面中包含了执行修改该用户和删除该用户操作的超链接入口,分别对应着change_user.php和delete_user.php文件。

修改用户

修改用户的web页面文件change_user.php的实现代码如下:

<?php require_once "common.php";?>
<html>
<head><title>修改用户</title>
</head>
<body>
    <h3>修改用户</h3>
    <form id="add_user" name="add_user" method="post" action="update_user.php?user_id=
        <?php echo trim($_GET['user_id']);?>" >
    用户姓名:<input type="text" name="user_name"/><br/>
    用户口令:<input type="text" name="user_psw"/><br/>
    用户性别:<input type="text" name="user_sex"/><br/>
    用户年龄:<input type="text" name="user_age"/><br/>
    所属部门:<select name="user_dept">
    <option value=0>请选择部门</option>
    <?php
    $sql="select * from dept";
    $result=mysql_query($sql,$con);
    while($rows=mysql_fetch_row($result)){
        echo "<option value=".$rows[0].">".$rows[1]."</option>";
    }
    ?>
    </select><br/>
用户组名:<select name="user_group">
    <option value=0>请选择用户组</option>
    <?php
    $sql="select * from usergroup";
    $result=mysql_query($sql,$con);
    while($rows=mysql_fetch_row($result)) {
        echo "<option value=".$row[0].">".$rows[1]."</option>";
    }
    ?>
    </select><br/>
<br/>
<input type="submit" value="修改用户信息"/>
</form>
</body>
</html>

25.png

当在上面页面中输入完新的用户信息后,点击按钮,即可调用应用层中用于执行修改用户操作的业务逻辑处理代码update_user.php,该代码内容如下:

<?php require_once "common.php";
$user_id=trim($_GET['user_id']);
$user_name=trim($_POST['user_name']);
$user_psw=trim($_POST['user_psw']);
$user_sex=trim($_POST['user_sex']);
$user_age=trim($_POST['user_age']);
$user_dept=trim($_POST['user_dept']);
$user_group=trim($_POST['user_group']);
$sql="UPDATE users SET user_name='".$user_name."',user_psw='".$user_psw."',user_sex='".$user_sex."',user_age='".$user_age."',user_dept='".$user_dept."',user_group='".$user_group."'  WHERE user_id=";
$sql=$sql.$user_id;
if(mysql_query($sql,$con))
    echo "用户修改成功!<br>";
else
    echo "用户修改失败!<br>";
?>

删除用户

在用户查看结果页面中,有个删除用户的超链接,点击即可调用下面的逻辑处理代码delete_user.php,从而实现对当前用户的删除。

<?php require_once "common.php";?>
<html>
<head><title>删除用户</title>
</head>
<body>
    <?php
    $user_id=trim($_GET['user_id']);
    $sql="DELETE FROM users WHERE user_id=";
    $sql=$sql.$user_id;
    if(mysql_query($sql,$con))
        echo "用户删除成功!<br>";
    else
        echo "用户删除失败!<br>";
    ?>
</body>
</html>

当删除成功后,会跳转到下面页面

26.png

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

46

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

178

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

51

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

92

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

227

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

532

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

171

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号