<tr id="telab"><nobr id="telab"></nobr></tr>
<small id="telab"></small>
    1. <ruby id="telab"><option id="telab"></option></ruby>

      <code id="telab"><option id="telab"></option></code>

    2. Discuz!大師網

      搜索
      查看: 2869|回復: 1
      打印 上一主題 下一主題

      DedeCMS開發之數據庫相關操作類

      [復制鏈接]
      跳轉到指定樓層
      樓主
      發表于 2017-4-26 01:07:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

      馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

      您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

      x
      系統會自動載入 dedesql.class.PHP 文件,并用$dsql = $db = new DedeSql(false);進行初始化數據庫連接,因此在工程所有文件中均不需要單獨初始化這個類,可直接用 $dsql 或 $db 進行操作,為了防止錯誤,操作完后不必關閉數據庫。

      常用的方法:
      1、執行一個非查詢類型的SQL語句,如 insert 、create 、update 等
      $rs = $db->ExecuteNoneQuery($sql);
      返回值為是否執行成功。


      2、執行一個非查詢類型的SQL語句,并返回成功記錄數
      $rs = $db->ExecuteNoneQuery2($sql);


      與上面相比,它返回的是影響的記錄數,而不是布爾值


      3、返回單個記錄
      $arr = $db->GetOne($sql);


      $dsql 如果不帶 limit ,系統會自動加上 limit 0,1


      4、執行條件查詢語句
      $db->SetQuery($dsql);
      $db->Execute();
      while($arr = $db->GetArray())
      {
      }
      可以簡化為:
      $db->Execute('me',$dsql);
      while($arr = $db->GetArray())
      {
      }


      'me' 為記錄集游標,用于區分不同的查詢,如:


      $db->Execute('me',$dsql);
      while($arr = $db->GetArray())
      {
         $db->Execute('2',$dsql2);
         while($arr2 = $db->GetArray())
         {

         }
      }
      像這種情況必須指定一個值區分默認的'me'參數,否則會出錯


      $db->GetArray($rsid,$acctype) 參數
      $rsid="me"
      $acctype=MYSQL_ASSOC


      在查詢游標中讀取數據還可以用
      $db->GetObject($rsid="me");


      返回的結果是用類結構表示的值。


      5、獲取上一個插入的自動遞增主鍵id值
      $db->GetLastID();


      6、獲得查詢的總記錄數
      $db->GetTotalRow($rsid="me")


      7、獲得MySQL的版本號
      $db->GetVersion($isformat=true)
      默認的情況下會轉換成 x.xx 形式浮點數


      8、析放某查詢的資源


      $db->FreeResult($rsid="me");


      9、在數據庫中是否存在某數據表
      $db->IsTable($tbname)


      10、重新選擇要操作的數據庫
      $db->SelectDB($dbname);


      11、獲得數據庫連接標識
      $db->linkID
      獲得這個連接標識后,可以直接用mysql相關函數進行數據庫操作
      在非不得已的情況,項目中一般不使用這個變量。

      點評

      謝謝分享  發表于 2018-3-22 15:41
      回復 馬甲回復

      使用道具 舉報

      您需要登錄后才可以回帖 登錄 | 立即注冊

      本版積分規則

      QQ|網站地圖|小黑屋|展會網|Discuz站長論壇 |天天打卡

      GMT+8, 2023-1-15 22:07 , Processed in 0.023416 second(s), 12 queries , Gzip On, Redis On.

      Powered by Discuz! X3.4

      Copyright © 2001-2021, Tencent Cloud.

      快速回復 返回頂部 返回列表
      免费A片不打码在线观看

      <tr id="telab"><nobr id="telab"></nobr></tr>
      <small id="telab"></small>
        1. <ruby id="telab"><option id="telab"></option></ruby>

          <code id="telab"><option id="telab"></option></code>