PHP对MySQL数据库的交互(增删改查)

准备

先创建好我们需要的数据库。
以student为例。
在这里插入图片描述
PHP文件
func.php
add.php
del.php
edit.php
getlist.php

代码

func.php
此文件封装公用代码

<?php
header("content-type:text/html;charset=utf-8");//解决中文乱码
//连接数据库,设置字符编码
function conn($host="127.0.0.1",$user="root",$password="root",$database="stu"){
    $link = mysqli_connect($host,$user,$password,$database);
    if($link===false){
        exit("失败");
    }
    mysqli_set_charset($link,"utf8");
    return $link;
}
?>

获取列表

getlist.php

<?php
header("content-type:text/html;charset=utf-8");//解决中文乱码
include "func.php";//引入
//1连接数据库,设置字符编码
$link = conn();
//2.操作数据库$link,$sql
$sql = "select *from student";
$result = mysqli_query($link,$sql);
if($result===false){
    echo "error".mysqli_error($link);
    exit;
}
//获取结果并解析
$arr = mysqli_fetch_all($result);
echo "<pre>";
print_r($arr);
echo "</pre>";

//释放结果集,关闭数据库
mysqli_free_result($result);
mysqli_close($link);

在页面中显示为
在这里插入图片描述

删除

del.php
我们删掉编号为104的学生

<?php
header("content-type:text/html;charset=utf-8");//解决中文乱码

include "func.php";
//1.连接数据库
$link = conn();
//操作数据库
$Sno = "104";//要删掉的数据

$query = "delete from student where Sno='$Sno'";
$result = mysqli_query($link,$query);
if($result===false){
    echo "error".mysqli_error($link);
    exit;
}
$row = mysqli_affected_rows($link);
if($row>0){
    echo "删除成功!";
}else{
    echo "修改失败!";
}
?>

页面会显示“修改成功!”并且数据库中编号为104的学生数据已被删除。返回看一下getlist.php
在这里插入图片描述

增加

add.php
让我们把编号为104的学生数据再添加回来

<?php
header("content-type:text/html;charset=utf-8");//解决中文乱码
include "func.php";
//1.连接数据库
$link = conn();
//操作数据库
$Sno = "104";
$Sname = "王红";
$Ssex = "女";
$Sbirthday = "1988-09-09 00:00:00";
$mypwd = "123";
$query = "insert into student(Sno,Sname,Ssex,Sbirthday,pwd) value('$Sno','$Sname','$Ssex','$Sbirthday','$mypwd')";
$result = mysqli_query($link,$query);
if($result===false){
    echo "error".mysqli_error($link);
    exit;
}
if(mysqli_insert_id($link)==0){
    echo 0;//成功
}else{
    echo 1;//失败
}
?>

此时getlist.php中会返回 0 在这里插入图片描述
数组最后一项105号数据添加成功,pwd项为空(在数据库中设置可以为空)。

修改

edit.php
让我们来修改一下104号学生数据

<?php
header("content-type:text/html;charset=utf-8");//解决中文乱码
include "func.php";
//1.连接数据库
$link = conn();
//操作数据库
$Sno = "104";
$Sname = "李五";
$Ssex = "女";
$Sbirthday = "1991-03-13 09:01:31";
$query = "update student set Sname = '$Sname',Sbirthday = '$Sbirthday',Ssex = '$Ssex' where Sno='$Sno'";
$result = mysqli_query($link,$query);
if($result===false){
    echo "error".mysqli_error($link);
    exit;
}
$row = mysqli_affected_rows($link);
if($row>0){
    echo "修改成功!";
}else{
    echo "修改失败!";
}
?>

其中y以下这一行很重要,一定要有 where Sno=’$Sno’,否则会修改所有数据并且一旦刷新就无法撤回,在数据库的实际操作中是灾难性的。

$query = "update student set Sname = '$Sname',Sbirthday = '$Sbirthday',Ssex = '$Ssex' where Sno='$Sno'";

好了修改成功了,让我们来看一下getlist.php刷新效果。可以看出王红已经被修改为李五,相应数据已经修改完毕。
在这里插入图片描述

总结步骤

最后让我们总结一下。

1.连接数据库,设置字符编码;
2.操作数据库(增删改查等);
3.获取结果并解析;
4.释放结果集,关闭数据库。

如果有哪里说的不对,欢迎指正,感激不尽。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
通过HTML网页对MySQL数据库进行增删改查,你需要使用服务器端语言(如PHP、Python等)来处理用户的请求,并与MySQL数据库进行交互。以下是一个简单的示例: 1. 首先,确保你已经安装了MySQL数据库,并创建了相应的数据库和表。 2. 在HTML网页上,你可以使用表单来接收用户的输入。例如,你可以创建一个包含输入框和提交按钮的表单。 ```html <form action="process.php" method="POST"> <label for="name">名称:</label> <input type="text" id="name" name="name"> <label for="age">年龄:</label> <input type="text" id="age" name="age"> <input type="submit" value="添加"> </form> ``` 3. 在服务器端,你可以使用服务器端语言来处理表单的提交,并将数据插入到MySQL数据库中。以下是一个使用PHP处理表单提交的示例(假设你已经安装了PHP并配置了服务器): ```php <?php // 连接到MySQL数据库 $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理表单提交 if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $age = $_POST["age"]; // 执行插入操作 $sql = "INSERT INTO your_table (name, age) VALUES ('$name', $age)"; if ($conn->query($sql) === TRUE) { echo "数据插入成功"; } else { echo "错误: " . $sql . "<br>" . $conn->error; } } // 关闭数据库连接 $conn->close(); ?> ``` 以上是向MySQL数据库插入数据的示例。你可以类似的方式处理删除、修和查询操作。请注意,为了安全起见,你应该对用户输入进行适当的验证和过滤,以防止SQL注入等安全问题。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值