溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php怎么封裝一個(gè)數(shù)據(jù)庫(kù)查詢的函數(shù)

發(fā)布時(shí)間:2023-03-24 10:27:52 來(lái)源:億速云 閱讀:140 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“php怎么封裝一個(gè)數(shù)據(jù)庫(kù)查詢的函數(shù)”,在日常操作中,相信很多人在php怎么封裝一個(gè)數(shù)據(jù)庫(kù)查詢的函數(shù)問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php怎么封裝一個(gè)數(shù)據(jù)庫(kù)查詢的函數(shù)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

一、MySQLi查詢封裝函數(shù)

使用MySQLi查詢時(shí),我們可以封裝以下查詢函數(shù):

  1. 連接數(shù)據(jù)庫(kù)函數(shù):

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

    // 創(chuàng)建連接
    $conn = new mysqli($servername, $username, $password, $dbname);

    // 檢測(cè)連接
    if ($conn->connect_error) {
        die("連接失敗: " . $conn->connect_error);
    }
    return $conn;
}

  1. 查詢函數(shù):

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. 插入、更新、刪除函數(shù):

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

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

    $conn->close();

    return $status;
}

二、PDO查詢封裝函數(shù)

使用PDO查詢時(shí),我們可以封裝以下查詢函數(shù):

  1. 連接數(shù)據(jù)庫(kù)函數(shù):

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

    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
        // 設(shè)置 PDO 錯(cuò)誤模式為異常
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        echo "連接失敗: " . $e->getMessage();
    }
    
    return $conn;
}

  1. 查詢函數(shù):

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

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

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

    $conn = null;

    return $data;
}

  1. 插入、更新、刪除函數(shù):

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

通過對(duì)以上兩種查詢封裝函數(shù)的使用,我們可以大大減少查詢數(shù)據(jù)庫(kù)所需要的代碼行數(shù),提升代碼效率和開發(fā)效率。

到此,關(guān)于“php怎么封裝一個(gè)數(shù)據(jù)庫(kù)查詢的函數(shù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI