今天在网上看到一下讲得十分好的php增删改查mysql实例,所以记录一下,并分享给大家。
一、准备工作:建立数据库
我是在本地进行测试的,本地电脑上安装有xampp,所以要建立数据库只需要访问:http://localhost/phpmyadmin/就可以了。


二、成果展示

三、详细代码:
在C:\xampp\htdocs\下面建立一个文件夹,用来存放下面这些php文件。
第1步: 建立一个student-create.php文件,代码如下:
<?php
session_start();
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Student Create</title>
</head>
<body>
<div class="container mt-5">
<?php include('message.php'); ?>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Student Add
<a href="index.php" class="btn btn-danger float-end">BACK</a>
</h4>
</div>
<div class="card-body">
<form action="code.php" method="POST">
<div class="mb-3">
<label>Student Name</label>
<input type="text" name="name" class="form-control">
</div>
<div class="mb-3">
<label>Student Email</label>
<input type="email" name="email" class="form-control">
</div>
<div class="mb-3">
<label>Student Phone</label>
<input type="text" name="phone" class="form-control">
</div>
<div class="mb-3">
<label>Student Course</label>
<input type="text" name="course" class="form-control">
</div>
<div class="mb-3">
<button type="submit" name="save_student" class="btn btn-primary">Save Student</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
第2步:建立dbcon.php用来连接数据库
<?php
$con = mysqli_connect("localhost","root","","blog");
if(!$con){
die('Connection Failed'. mysqli_connect_error());
}
?>
第3步:建立 message.php文件
创建一个名为 message.php 的文件,该文件将用于在每个需要的文件中显示消息。
<?php
if(isset($_SESSION['message'])) :
?>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Hey!</strong> <?= $_SESSION['message']; ?>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
<?php
unset($_SESSION['message']);
endif;
?>
第4步:建立首页文件index.php
<?php
session_start();
require 'dbcon.php';
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Student CRUD</title>
</head>
<body>
<div class="container mt-4">
<?php include('message.php'); ?>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Student Details
<a href="student-create.php" class="btn btn-primary float-end">Add Students</a>
</h4>
</div>
<div class="card-body">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>ID</th>
<th>Student Name</th>
<th>Email</th>
<th>Phone</th>
<th>Course</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
$query = "SELECT * FROM students";
$query_run = mysqli_query($con, $query);
if(mysqli_num_rows($query_run) > 0)
{
foreach($query_run as $student)
{
?>
<tr>
<td><?= $student['id']; ?></td>
<td><?= $student['name']; ?></td>
<td><?= $student['email']; ?></td>
<td><?= $student['phone']; ?></td>
<td><?= $student['course']; ?></td>
<td>
<a href="student-view.php?id=<?= $student['id']; ?>" class="btn btn-info btn-sm">View</a>
<a href="student-edit.php?id=<?= $student['id']; ?>" class="btn btn-success btn-sm">Edit</a>
<form action="code.php" method="POST" class="d-inline">
<button type="submit" name="delete_student" value="<?=$student['id'];?>" class="btn btn-danger btn-sm">Delete</button>
</form>
</td>
</tr>
<?php
}
}
else
{
echo "<h5> No Record Found </h5>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
第5步:建立编辑信息的页面student-edit.php
<?php
session_start();
require 'dbcon.php';
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Student Edit</title>
</head>
<body>
<div class="container mt-5">
<?php include('message.php'); ?>
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Student Edit
<a href="index.php" class="btn btn-danger float-end">BACK</a>
</h4>
</div>
<div class="card-body">
<?php
if(isset($_GET['id']))
{
$student_id = mysqli_real_escape_string($con, $_GET['id']);
$query = "SELECT * FROM students WHERE id='$student_id' ";
$query_run = mysqli_query($con, $query);
if(mysqli_num_rows($query_run) > 0)
{
$student = mysqli_fetch_array($query_run);
?>
<form action="code.php" method="POST">
<input type="hidden" name="student_id" value="<?= $student['id']; ?>">
<div class="mb-3">
<label>Student Name</label>
<input type="text" name="name" value="<?=$student['name'];?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Email</label>
<input type="email" name="email" value="<?=$student['email'];?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Phone</label>
<input type="text" name="phone" value="<?=$student['phone'];?>" class="form-control">
</div>
<div class="mb-3">
<label>Student Course</label>
<input type="text" name="course" value="<?=$student['course'];?>" class="form-control">
</div>
<div class="mb-3">
<button type="submit" name="update_student" class="btn btn-primary">
Update Student
</button>
</div>
</form>
<?php
}
else
{
echo "<h4>No Such Id Found</h4>";
}
}
?>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
第6步:建立查看信息的文件student-view.php
<?php
require 'dbcon.php';
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Student View</title>
</head>
<body>
<div class="container mt-5">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header">
<h4>Student View Details
<a href="index.php" class="btn btn-danger float-end">BACK</a>
</h4>
</div>
<div class="card-body">
<?php
if(isset($_GET['id']))
{
$student_id = mysqli_real_escape_string($con, $_GET['id']);
$query = "SELECT * FROM students WHERE id='$student_id' ";
$query_run = mysqli_query($con, $query);
if(mysqli_num_rows($query_run) > 0)
{
$student = mysqli_fetch_array($query_run);
?>
<div class="mb-3">
<label>Student Name</label>
<p class="form-control">
<?=$student['name'];?>
</p>
</div>
<div class="mb-3">
<label>Student Email</label>
<p class="form-control">
<?=$student['email'];?>
</p>
</div>
<div class="mb-3">
<label>Student Phone</label>
<p class="form-control">
<?=$student['phone'];?>
</p>
</div>
<div class="mb-3">
<label>Student Course</label>
<p class="form-control">
<?=$student['course'];?>
</p>
</div>
<?php
}
else
{
echo "<h4>No Such Id Found</h4>";
}
}
?>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
第7步:创建一个名为 code.php 的文件并粘贴以下代码。
这个文件是关于表单提交数据的,我们在php mysql代码中插入、更新、删除数据的地方如下:
<?php
session_start();
require 'dbcon.php';
if(isset($_POST['delete_student']))
{
$student_id = mysqli_real_escape_string($con, $_POST['delete_student']);
$query = "DELETE FROM students WHERE id='$student_id' ";
$query_run = mysqli_query($con, $query);
if($query_run)
{
$_SESSION['message'] = "Student Deleted Successfully";
header("Location: index.php");
exit(0);
}
else
{
$_SESSION['message'] = "Student Not Deleted";
header("Location: index.php");
exit(0);
}
}
if(isset($_POST['update_student']))
{
$student_id = mysqli_real_escape_string($con, $_POST['student_id']);
$name = mysqli_real_escape_string($con, $_POST['name']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$phone = mysqli_real_escape_string($con, $_POST['phone']);
$course = mysqli_real_escape_string($con, $_POST['course']);
$query = "UPDATE students SET name='$name', email='$email', phone='$phone', course='$course' WHERE id='$student_id' ";
$query_run = mysqli_query($con, $query);
if($query_run)
{
$_SESSION['message'] = "Student Updated Successfully";
header("Location: index.php");
exit(0);
}
else
{
$_SESSION['message'] = "Student Not Updated";
header("Location: index.php");
exit(0);
}
}
if(isset($_POST['save_student']))
{
$name = mysqli_real_escape_string($con, $_POST['name']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$phone = mysqli_real_escape_string($con, $_POST['phone']);
$course = mysqli_real_escape_string($con, $_POST['course']);
$query = "INSERT INTO students (name,email,phone,course) VALUES ('$name','$email','$phone','$course')";
$query_run = mysqli_query($con, $query);
if($query_run)
{
$_SESSION['message'] = "Student Created Successfully";
header("Location: student-create.php");
exit(0);
}
else
{
$_SESSION['message'] = "Student Not Created";
header("Location: student-create.php");
exit(0);
}
}
?>
第8步:运行代码
直接在浏览器中输入http://localhost/phpcrud/(注意要将phpcrud改成你自己之前步骤创建的文件夹名称),就可以看到页面了。

四、小技巧
可以将各个文件中的开头共用的代码放到includes/header.php文件里面,结尾的代码放到footer.php里面,然后在这些文件中通过include("xxx.php")引用。
参考:
https://www.youtube.com/watch?v=ExW0bYNMTlo
https://www.fundaofwebit.com/post/php-crud-using-bootstrap-5-example