php怎么封装一个数据库查询的函数

寻技术 PHP编程 2023年07月12日 134

这篇文章主要介绍“php怎么封装一个数据库查询的函数”,在日常操作中,相信很多人在php怎么封装一个数据库查询的函数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么封装一个数据库查询的函数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、MySQLi查询封装函数

使用MySQLi查询时,我们可以封装以下查询函数:

  1. 连接数据库函数:

function connectDb() {
    $servername = "yourservername";
    $username = "yourusername";
    $password = "yourpassword";
    $dbname = "yourdbname";

    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);

    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    return $conn;
}
  1. 查询函数:

function selectDb($query) {
    $conn = connectDb();

    $result = $conn->query($query);
    if ($result === false) {
        die("查询失败: " . $conn->error);
    }

    $data = array();
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }

    $conn->close();

    return $data;
}
  1. 插入、更新、删除函数:

function updateDb($query) {
    $conn = connectDb();

    if ($conn->query($query) === true) {
        $status = true;
    } else {
        $status = false;
    }

    $conn->close();

    return $status;
}

二、PDO查询封装函数

使用PDO查询时,我们可以封装以下查询函数:

  1. 连接数据库函数:

function connectDb() {
    $host = "yourhost";
    $username = "yourusername";
    $password = "yourpassword";
    $dbname = "yourdbname";

    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
        // 设置 PDO 错误模式为异常
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        echo "连接失败: " . $e->getMessage();
    }
    
    return $conn;
}
  1. 查询函数:

function selectDb($query) {
    $conn = connectDb();

    $stmt = $conn->prepare($query);
    $stmt->execute();

    $data = array();
    while ($row = $stmt->fetch()) {
        $data[] = $row;
    }

    $conn = null;

    return $data;
}
  1. 插入、更新、删除函数:

function updateDb($query) {
    $conn = connectDb();

    $status = true;

    try {
        $conn->beginTransaction();

        $stmt = $conn->prepare($query);
        $stmt->execute();

        $conn->commit();
    } catch(PDOException $e) {
        $conn->rollBack();
        $status = false;
    }

    $conn = null;

    return $status;
}

通过对以上两种查询封装函数的使用,我们可以大大减少查询数据库所需要的代码行数,提升代码效率和开发效率。

关闭

用微信“扫一扫”