小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

PHP使用PDO連接SQLITE3

 躍來(lái)躍去 2010-04-02
之前從網(wǎng)上看可以通過(guò)直接的方法對(duì)sqlite數(shù)據(jù)庫(kù)進(jìn)行操作。但好像只是支持sqlite2.對(duì)sqlite3不支持。于是又看了看原來(lái)要使用PDO進(jìn)行連接。
講自己寫(xiě)的一個(gè)封裝的代碼放出來(lái)。
需要注意的就是ROOT是項(xiàng)目的絕對(duì)路徑。$module之類(lèi)的參數(shù)根據(jù)實(shí)際情況需要。
DT_URL是失敗后的一個(gè)跳轉(zhuǎn)url。
因?yàn)閟qlite在連接失敗后發(fā)現(xiàn)自動(dòng)創(chuàng)建一個(gè)空文件。所以在connect_sqlite方法中直接判斷若此文件不存在則不進(jìn)行庫(kù)連接操作。
======================================================================================
<?php

/**
 * 此類(lèi)只兼容sqlite3
 * @author hanxiaoyue
 */
class db_sqlite {
    //打開(kāi)sqlite數(shù)據(jù)庫(kù)
    function connect_sqlite($dbname,$module) {
        $conn = null;
        if(file_exists(ROOT.'/db/'.$module.'/'.$dbname)) {
            $dbPath = 'sqlite:'.ROOT.'/db/'.$module.'/'.$dbname;
            try {
                $conn = new PDO($dbPath);
                $conn->beginTransaction();
            } catch(PDOException $e) {
                echo 'Exception is:'.$e->getMessage();
            }
            return $conn;           
        } else {
            exit(header('location:'.DT_URL));
        }
    }
    //打開(kāi)datafarm鏈接
    function connect_datafarm_sqlite($dbname) {
        $conn = null;
        if(file_exists(ROOT.'/data/datafarm/'.$dbname)) {
            $dbPath = 'sqlite:'.ROOT.'/data/datafarm/'.$dbname;
            try {
                $conn = new PDO($dbPath);
                $conn->beginTransaction();
            } catch(PDOException $e) {
                echo 'Exception is:'.$e->getMessage();
            }   
            return $conn;       
        } else {
            exit(header('location:'.DT_URL));
        }   
    }   
    //查詢操作
    function query_sqlite($conn,$sql) {
        $result = array();
        try {
            $sth = $conn->prepare($sql);
            $sth->execute();
            //獲取結(jié)果
            $result = $sth->fetchAll();           
        } catch(PDOException $e) {
            echo 'Exception is:'.$e->getMessage();
        }
        return $result;
    }
    //查詢總記錄數(shù)
    function query_count($conn,$sql) {
        $result = 0;
        try {
            $sth = $conn->prepare($sql);
            $sth->execute();
            //獲取結(jié)果
           
            $vec = $sth->fetchAll();
           
            $result = $vec[0]['c'];
           
        } catch(PDOException $e) {
            echo 'Exception is:'.$e->getMessage();
        }
        return $result;
    }
    //add,update,delete執(zhí)行操作
    function exec_sqlite($conn,$sql) {
        $count = 0;
        try {
           
            $count = $conn->exec($sql);       
        } catch(PDOException $e) {
            $conn->rollBack();
            echo 'Exception is:'.$e->getMessage();
        }
        return $count;
    }
    /**
     * 提交事務(wù)。針對(duì)執(zhí)行exec_sqlite后
     */
    function commit_sqlite($conn) {
        $conn->commit();
    }
    //關(guān)閉連接
    function close_sqlite($conn) {
        $conn=null;
    }
}
?>

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多