<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    class Sqlite {
    var $link;
    var $querynum = 0;

    /*連接Sqlite數(shù)據(jù)庫,參數(shù):dbname->數(shù)據(jù)庫名字*/
    function Open($dbname) {
    if(!($this->link = @sqlite_open($dbname))) {
    $this->halt('Can not Open to Sqlite');
    }
    }

    /*執(zhí)行sql語句,返回對應(yīng)的結(jié)果標(biāo)識*/
    function Query($sql) {
    $this->querynum++;
    if($query = @sqlite_query($this->link, $sql)) {
    return $query;
    } else {
    $this->halt('Sqlite Query Error', $sql);
    }
    }

    /*執(zhí)行Insert Into語句,并返回最后的insert操作所產(chǎn)生的自動增長的id*/
    function Insert($table, $iarr) {
    $value = $this->InsertSql($iarr);
    $this->Query('INSERT INTO "' . $table . '" ' . $value);
    return sqlite_last_insert_rowid($this->link);
    }

    /*執(zhí)行Update語句,并返回最后的update操作所影響的行數(shù)*/
    function Update($table, $uarr, $condition = '') {
    $value = $this->UpdateSql($uarr);
    if ($condition) {
    $condition = ' WHERE ' . $condition;
    }
    $this->Query('UPDATE "' . $table . '"' . ' SET ' . $value . $condition);
    return sqlite_changes($this->link);
    }

    /*執(zhí)行Delete語句,并返回最后的Delete操作所影響的行數(shù)*/
    function Delete($table, $condition = '') {
    if ($condition) {
    $condition = ' WHERE ' . $condition;
    }
    $this->Query('DELETE "' . $table . '"' . $condition);
    return sqlite_changes($this->link);
    }

    /*將字符轉(zhuǎn)為可以安全保存的sqlite值,比如a'a轉(zhuǎn)為a''a*/
    /*
    function EnCode($str) {
    if (strpos($str, "\0") === false) {
    if (strpos($str, '\'') === false) {
    return $str;
    } else {
    return str_replace('\'', '\'\'', $str);
    }
    } else {
    $str = str_replace("\0", '', $str);
    if (strpos($str, '\'') === false) {
    return $str;
    } else {
    return str_replace('\'', '\'\'', $str);
    }
    }
    }
    */
    function EnCode($str) {
    return sqlite_escape_string($str);
    }

    /*將可以安全保存的sqlite值轉(zhuǎn)為正常的值,比如a''a轉(zhuǎn)為a'a*/
    function DeCode($str) {
    if (strpos($str, '\'\'') === false) {
    return $str;
    } else {
    return str_replace('\'\'', '\'', $str);
    }
    }

    /*將對應(yīng)的列和值生成對應(yīng)的insert語句,如:array('id' => 1, 'name' => 'name')返回("id", "name") VALUES (1, 'name')*/
    function InsertSql($iarr) {
    if (is_array($iarr)) {
    $fstr = '';
    $vstr = '';
    foreach ($iarr as $key => $val) {
    $fstr .= '"' . $key . '", ';
    $vstr .= '\'' . $val . '\', ';
    }
    if ($fstr) {
    $fstr = '(' . substr($fstr, 0, -2) . ')';
    $vstr = '(' . substr($vstr, 0, -2) . ')';
    return $fstr . ' VALUES ' . $vstr;
    } else {
    return '';
    }
    } else {
    return '';
    }
    }

    /*將對應(yīng)的列和值生成對應(yīng)的insert語句,如:array('id' => 1, 'name' => 'name')返回"id" = 1, "name" = 'name'*/
    function UpdateSql($uarr) {
    if (is_array($uarr)) {
    $ustr = '';
    foreach ($uarr as $key => $val) {
    $ustr .= '"' . $key . '" = \'' . $val . '\', ';
    }
    if ($ustr) {
    return substr($ustr, 0, -2);
    } else {
    return '';
    }
    } else {
    return '';
    }
    }

    /*返回對應(yīng)的查詢標(biāo)識的結(jié)果的一行*/
    function GetRow($query, $result_type = SQLITE_ASSOC) {
    return sqlite_fetch_array($query, $result_type);
    }

    /*清空查詢結(jié)果所占用的內(nèi)存資源*/
    function Clear($query) {
    $query = null;
    return true;
    }

    /*關(guān)閉數(shù)據(jù)庫*/
    function Close() {
    return sqlite_close($this->link);
    }

    function halt($message = '', $sql = '') {
    $ei = sqlite_last_error($this->link);
    $message .= '<br />Sqlite Error: ' . $ei . ', ' . sqlite_error_string($ei);
    if ($sql) {
    $sql = '<br />sql:' . $sql;
    }
    exit('DataBase Error.<br />Message: ' . $message . $sql);
    }
    }

    posted on 2008-05-28 10:34 allic 閱讀(2528) 評論(0)  編輯  收藏 所屬分類: PHP+MySQL開發(fā)開源數(shù)據(jù)庫學(xué)習(xí)研究
    主站蜘蛛池模板: 亚洲免费电影网站| 在线观看免费中文视频| 香蕉高清免费永久在线视频| 亚洲AV无码一区二区三区人| av大片在线无码免费| 亚洲一级黄色大片| 67194成是人免费无码| 亚洲乱色伦图片区小说| 大学生美女毛片免费视频| 亚洲精品色播一区二区| 夜夜嘿视频免费看| 羞羞漫画登录页面免费| 亚洲人午夜射精精品日韩| 国产精品免费在线播放| 亚洲国产第一页www| 免费精品无码AV片在线观看| 亚洲国产电影在线观看| 韩国欧洲一级毛片免费| 免费一级特黄特色大片| 中文字幕在线亚洲精品| 日韩免费观看一区| 亚洲乱人伦精品图片| 日本黄色免费观看| a级毛片免费观看网站| 亚洲Aⅴ无码专区在线观看q| 中文字幕成人免费视频| 亚洲精品无码一区二区| 亚洲一级特黄大片无码毛片| 国产免费拔擦拔擦8X高清在线人| 亚洲一区二区三区电影| 性色av免费观看| j8又粗又长又硬又爽免费视频| 亚洲国产成人精品不卡青青草原| 成人无码区免费A片视频WWW| 国产亚洲人成在线影院| 亚洲国产精品国自产拍AV| 国产三级在线观看免费| 久久久久久国产a免费观看不卡 | 亚洲乱码中文字幕手机在线| 久久免费视频99| 亚洲AV性色在线观看|