一江春水向東流

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(12)

          隨筆分類(23)

          隨筆檔案(42)

          文章分類(162)

          文章檔案(139)

          新聞檔案(10)

          相冊

          收藏夾(3)

          文章收集

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

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

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

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

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

          /*執行Update語句,并返回最后的update操作所影響的行數*/
          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);
          }

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

          /*將字符轉為可以安全保存的sqlite值,比如a'a轉為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值轉為正常的值,比如a''a轉為a'a*/
          function DeCode($str) {
          if (strpos($str, '\'\'') === false) {
          return $str;
          } else {
          return str_replace('\'\'', '\'', $str);
          }
          }

          /*將對應的列和值生成對應的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 '';
          }
          }

          /*將對應的列和值生成對應的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 '';
          }
          }

          /*返回對應的查詢標識的結果的一行*/
          function GetRow($query, $result_type = SQLITE_ASSOC) {
          return sqlite_fetch_array($query, $result_type);
          }

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

          /*關閉數據庫*/
          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 閱讀(2532) 評論(0)  編輯  收藏 所屬分類: PHP+MySQL開發開源數據庫學習研究
          主站蜘蛛池模板: 西宁市| 东源县| 茶陵县| 天柱县| 宜兴市| 茂名市| 泰和县| 满城县| 蒙城县| 洛扎县| 全南县| 沅江市| 叶城县| 海原县| 东乌珠穆沁旗| 莱西市| 汶川县| 察隅县| 合阳县| 甘泉县| 施甸县| 渝北区| 上高县| 霍邱县| 都兰县| 慈利县| 怀仁县| 武山县| 元谋县| 黄浦区| 娄烦县| 岳阳县| 瓮安县| 天台县| 柯坪县| 阿克| 宣城市| 泰和县| 县级市| 昆明市| 陵水|