利用PHP和MySQL实现简单的CRUD操作:增删改查

碧海潮生 2024-06-13 ⋅ 22 阅读

在Web开发中,CRUD是指在数据存储中,基本的创建(Create)、读取(Read)、更新(Update)和删除(Delete)的操作。本文将使用PHP和MySQL数据库来实现简单的CRUD操作。

准备工作

在开始之前,确保你已经安装好PHP和MySQL,并且熟悉使用它们的基本操作。你可以使用XAMPP、WAMP或MAMP这样的集成开发环境来方便地搭建本地的开发环境。

创建数据库和数据表

首先,我们需要创建一个数据库和一个数据表用来存储CRUD操作的数据。

CREATE DATABASE blog;

USE blog;

CREATE TABLE articles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

上述SQL语句创建了一个名为blog的数据库,然后在该数据库中创建了一个名为articles的数据表,该数据表包含了idtitlecontentcreated_at四个列。其中,id是自增的主键,titlecontent分别用来保存文章的标题和内容,created_at用来保存文章的创建时间。

创建PHP文件

接下来,我们将创建一个PHP文件来处理CRUD操作。

<?php
// 连接到数据库
$connection = mysqli_connect('localhost', 'root', '', 'blog');

// 检查连接是否成功
if (mysqli_connect_errno()) {
    die('数据库连接失败: '. mysqli_connect_error());
}

// 设置字符集
mysqli_set_charset($connection, 'utf8');

// 创建文章
function createArticle($title, $content) {
    global $connection;
    
    $statement = mysqli_prepare($connection, 'INSERT INTO articles (title, content) VALUES (?, ?)');
    mysqli_stmt_bind_param($statement, 'ss', $title, $content);
    mysqli_stmt_execute($statement);
    
    if (mysqli_stmt_affected_rows($statement) > 0) {
        return true;
    } else {
        return false;
    }
}

// 获取所有文章
function getAllArticles() {
    global $connection;
    
    $result = mysqli_query($connection, 'SELECT * FROM articles');
    $articles = mysqli_fetch_all($result, MYSQLI_ASSOC);
    
    return $articles;
}

// 更新文章
function updateArticle($id, $title, $content) {
    global $connection;
    
    $statement = mysqli_prepare($connection, 'UPDATE articles SET title=?, content=? WHERE id=?');
    mysqli_stmt_bind_param($statement, 'ssi', $title, $content, $id);
    mysqli_stmt_execute($statement);
    
    if (mysqli_stmt_affected_rows($statement) > 0) {
        return true;
    } else {
        return false;
    }
}

// 删除文章
function deleteArticle($id) {
    global $connection;
    
    $statement = mysqli_prepare($connection, 'DELETE FROM articles WHERE id=?');
    mysqli_stmt_bind_param($statement, 'i', $id);
    mysqli_stmt_execute($statement);
    
    if (mysqli_stmt_affected_rows($statement) > 0) {
        return true;
    } else {
        return false;
    }
}

// 关闭数据库连接
mysqli_close($connection);

在上述PHP文件中,我们使用mysqli扩展来连接并操作MySQL数据库。我们定义了createArticle()getAllArticles()updateArticle()deleteArticle()四个函数来实现CRUD操作。

创建Web页面

最后,我们将创建一个简单的Web页面来测试上述CRUD函数。

<!DOCTYPE html>
<html>
<head>
    <title>简单CRUD示例</title>
</head>
<body>
    <h1>文章列表</h1>
    <ul>
        <?php
        $articles = getAllArticles();
        foreach ($articles as $article) {
            echo '<li>' . $article['title'] . '</li>';
        }
        ?>
    </ul>
    
    <h1>创建新文章</h1>
    <form method="post" action="">
        <label>标题:<input type="text" name="title"></label><br>
        <label>内容:<textarea name="content"></textarea></label><br>
        <input type="submit" value="发布">
    </form>
    
    <?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $title = $_POST['title'];
        $content = $_POST['content'];
        
        if (createArticle($title, $content)) {
            echo '文章发布成功!';
            
            // 刷新页面
            echo '<script>window.location.reload();</script>';
        } else {
            echo '文章发布失败!';
        }
    }
    ?>
</body>
</html>

在上述Web页面中,我们首先从数据库中获取所有文章并展示在页面上。接着,我们通过一个表单来创建新的文章。当用户点击发布按钮时,我们将表单的数据传递给createArticle()函数来创建新的文章。创建成功后,我们通过JavaScript代码刷新页面以更新文章列表。

总结

以上就是利用PHP和MySQL实现简单的CRUD操作的过程。通过使用PHP连接数据库并编写对应的数据库操作函数,我们可以方便地进行数据的增删改查。在实际的项目中,CRUD操作是非常常见且重要的,因此熟悉这些操作对于Web开发非常重要。


全部评论: 0

    我有话说: