一江春水向東流

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

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

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

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

          /*執(zhí)行sql語句,返回對(duì)應(yīng)的結(jié)果標(biāo)識(shí)*/
          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)生的自動(dòng)增長(zhǎng)的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);
          }
          }

          /*將對(duì)應(yīng)的列和值生成對(duì)應(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 '';
          }
          }

          /*將對(duì)應(yīng)的列和值生成對(duì)應(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 '';
          }
          }

          /*返回對(duì)應(yīng)的查詢標(biāo)識(shí)的結(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ù)庫(kù)*/
          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);
          }
          }

          主站蜘蛛池模板: 当涂县| 田东县| 宁津县| 合水县| 屯门区| 古蔺县| 永川市| 赤峰市| 满城县| 凤阳县| 来安县| 柳林县| 论坛| 墨竹工卡县| 上犹县| 江源县| 乌兰浩特市| 新河县| 沙洋县| 旅游| 竹山县| 皮山县| 景德镇市| 尖扎县| 大庆市| 沈丘县| 宾川县| 塘沽区| 临猗县| 大丰市| 溧阳市| 明溪县| 拉萨市| 乌兰察布市| 巴中市| 兰考县| 滨州市| 龙南县| 阿鲁科尔沁旗| 鄱阳县| 涞源县|