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的路上,如果你覺得本文對你有所幫助的話,那就請關注點贊評論三連吧,謝謝,你的肯定是我寫博的另一個支持。

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