首页 >后端开发 >PHP问题 >php封装一个数据库查询的函数

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

PHPz
PHPz原创
2023-03-23 17:21:021532浏览

在网站开发中,对于数据库的操作是非常常见的。而对于PHP语言,查询数据库也是一个非常重要的功能。在PHP中,我们通过MySQLi和PDO两种扩展去操作数据库。

而在使用MySQLi和PDO查询数据库时,我们通常需要写很长的代码,这样增加了不必要的代码量和开发时间。针对这种情况,我们可以封装从数据库查询的函数,以达到代码优化和提高开发效率的目的。

一、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;
}

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

总结

开发中,封装函数是提高代码质量和开发效率不可或缺的一部分。而在进行数据库查询操作时,我们可以通过数据库查询封装函数,优化查询代码,提升开发效率。以上封装函数仅供参考,读者根据具体项目需求可进行更改和完善。

以上是php封装一个数据库查询的函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn