php连接MySQL数据库应用

前言

php连接MySQL数据库进行增删改查中。我们建了MySQL的data数据库,在数据库创建了news表。并且利用php进行了连接,我们将在此基础上进行更进一步的应用。

一、模块

1.1 包含文件

由于所有的操作都要连接数据库,将连接数据库的代码放到包含文件中。

步骤:

  1. 在站点下创建inc文件夹:
    在www文件夹下创建文件夹inc:
    在这里插入图片描述

  2. 在inc下创建conn.php文件,用来连接数据库。
    在这里插入图片描述
    连接数据库:

<?php
    $link=mysqli_connect('localhost', 'root', '123456', 'data') or die('错误: '.mysqli_connect_error());
    mysqli_set_charset($link, 'utf8');
?>

在这里插入图片描述

二、数据操作

2.1 显示数据

步骤:

  1. 连接数据库
  2. 获取数据
  3. 遍历循环数据

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table {
            width: 780px;
            border: 1px solid #000;
            margin: auto;
        }
        th,td {
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    
    <?php
        // 1、连接数据库
        require './inc/conn.php';

        // 2、获取数据
        $resultSets=mysqli_query($link, 'select * from news'); # 返回结果集对象
        $list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
        // print_r($list); # 将结果匹配成关联数组
    ?>
    <a href="./add.php">添加新闻</a>
    <table>
        <tr>
            <th>id</th><th>姓名</th><th>掌握技能</th><th>时间</th><th>修改</th><th>删除</th>
            <?php foreach($list as $rows):?>
                <tr>
                    <td><?php echo $rows['id']; ?></td>
                    <td><?php echo $rows['title']; ?></td>
                    <td><?php echo $rows['content']; ?></td>
                    <td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td>
                    <td><input type="button" value="修改"></td>
                    <td><input type="button" value="删除" ></td>
                </tr>
            <?php endforeach;?>
        </tr>
    </table>
</body>
</html>

效果:
在这里插入图片描述

2.2 添加数据

在www文件夹下新建add.php。
步骤:

  1. 创建表单
  2. 连接数据库
  3. 将数据写入到数据库中

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<?php
    if (!empty($_POST)) {
        // 2、连接数据库
        require './inc/conn.php';
        $time = time();
        $sql = "insert into news values (null, '{$_POST['name']}', '{$_POST['content']}', $time)";
        // 3、执行SQL语句
        if (mysqli_query($link, $sql)) {
            header('location:./list.php'); 
        }
        else {
            echo '插入错误,错误码:'.mysqli_errno($link),'<br/>';
            echo '错误信息:'.mysqli_error($link);
        }
    }
?>
    <!-- 1、创建表单 -->
    <form action="" method="post">
        姓名:<input type="text" name="name"><br/><br/>
        技能:<textarea name="content" cols="30" rows="5"></textarea><br/><br/>
        <input type="submit" name="button" value="提交">
    </form>
</body>
</html>

效果:
在这里插入图片描述

2.3 删除数据

步骤
入口:list.php。

  1. 在list.php页面点击删除按钮,跳转到del.php页面,传递删除的id
  2. 在del.php页面连接数据库
  3. 通过id删除数据
  4. 删除成功后,就跳转到list.php

list.php代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table {
            width: 780px;
            border: 1px solid #000;
            margin: auto;
        }
        th,td {
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    
    <?php
        // 1、连接数据库
        require './inc/conn.php';

        // 2、获取数据
        $resultSets=mysqli_query($link, 'select * from news'); # 返回结果集对象
        $list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
        // print_r($list); # 将结果匹配成关联数组
    ?>
    <a href="./add.php">添加新闻</a>
    <table>
        <tr>
            <th>id</th><th>姓名</th><th>掌握技能</th><th>修改</th><th>删除</th>
            <?php foreach($list as $rows):?>
                <tr>
                    <td><?php echo $rows['id']; ?></td>
                    <td><?php echo $rows['title']; ?></td>
                    <td><?php echo $rows['content']; ?></td>
                    <!-- <td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td> -->
                    <td><input type="button" value="修改"></td>
                    <td><input type="button" value="删除" onclick="if (confirm('确定删除吗?')) location.href='./del.php?id=<?php echo $rows['id'] ?>'"></td>
                </tr>
            <?php endforeach;?>
        </tr>
    </table>
</body>
</html>

del.php代码如下:

<?php
    // 1、连接数据库
    require './inc/conn.php';

    // 2、拼接SQL语句
    $sql = "delete from news where id = {$_GET['id']}";

    // 3、执行SQL语句
    if (mysqli_query($link, $sql)) {
        header('location:./list.php');
    }
    else {
        echo '删除失败';
    }
?>

效果:
在这里插入图片描述

2.4 修改数据

入口:list.php

步骤:
第一步:显示修改页面
1、连接数据库
2、获取修改的数据
3、将数据显示列表单中

第二步:执行修改逻辑
1、获取新数据
2、拼接修改的SQL语句,执行修改逻辑

list.php代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table {
            width: 780px;
            border: 1px solid #000;
            margin: auto;
        }
        th,td {
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    
    <?php
        // 1、连接数据库
        require './inc/conn.php';

        // 2、获取数据
        $resultSets=mysqli_query($link, 'select * from news'); # 返回结果集对象
        $list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
        // print_r($list); # 将结果匹配成关联数组
    ?>
    <a href="./add.php">添加新闻</a>
    <table>
        <tr>
            <th>id</th><th>姓名</th><th>掌握技能</th><th>修改</th><th>删除</th>
            <?php foreach($list as $rows):?>
                <tr>
                    <td><?php echo $rows['id']; ?></td>
                    <td><?php echo $rows['title']; ?></td>
                    <td><?php echo $rows['content']; ?></td>
                    <!-- <td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td> -->
                    <td><input type="button" value="修改"  onclick="location.href='./edit.php?id=<?php echo $rows['id'] ?>'"></td>
                    <td><input type="button" value="删除" onclick="if (confirm('确定删除吗?')) location.href='./del.php?id=<?php echo $rows['id'] ?>'"></td>
                </tr>
            <?php endforeach;?>
        </tr>
    </table>
</body>
</html>

edit.php代码:

<?php
    // 连接数据库
    require './inc/conn.php';
    // 1、获取修改的数据
    $sql="select * from news where id={$_GET['id']}";
    $rs=mysqli_query($link,$sql); // 获取修改的数据
    $row=mysqli_fetch_assoc($rs); // 将修改的数据匹配成一维关联数组

    // 2、执行修改的逻辑
    if (!empty($_POST)) {
        $id=$_GET['id'];
        $title=$_POST['name'];
        $content=$_POST['content'];
        $sql="update news set title='$title',content='$content' where id=$id";
        if (mysqli_query($link, $sql)) {
            header('location:list.php');
        }
        else {
            echo '错误: '.mysqli_error($link);
        }
        exit;
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <form action="" method="post">
        姓名:<input type="text" name="name" value="<?php echo $row['title']?>"><br/><br/>
        技能:<textarea name="content" cols="30" rows="5"><?php echo $row['content']?></textarea><br/><br/>
        <input type="submit" name="button" value="提交">
        <input type="button" name="button" value="返回" onclick="location.href='list.php'">
    </form>
</body>
</html>

效果:
在这里插入图片描述

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章