Skip to content

asd20277/jsnpdo-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jsnpdo

快速溝通PDO 我的部落格

Changelog 點我查看

###說明書

    /** 3.3 建議直接跑 Demo.php **/
    - 切換資料庫功能
    - 工廠模式建議使用虛擬方法。日後將考慮移除實體工廠
    - 修改核心為 prepare() + execute()
    - 修正指令樣式
    
    // 工廠模式快速介紹

        // 操作多筆資料庫。使用並記錄到倉儲,倉儲取名為 DB 與 DB2
        Jsnpdo_factory::connect("mysql", "localhost", "ci_jsn", "root", "")->db_house("DB");
        Jsnpdo_factory::connect("mysql", "localhost", "sport", "root", "")->db_house("DB2");
        
        //使用DB
        Jsnpdo_factory::switch_db("DB");
        article::sel("limit 1");

        //使用DB2
        Jsnpdo_factory::switch_db("DB2");
        article::sel("limit 1");

        // 以下操作格式:
        // 直接資料表名稱或自訂別名::操作指令();
        // 如:
        // 
        // jsntable::sel("*", "where id = :id")
        // 有一張資料表叫做 jsntable,對它做查詢

        //新增資料表 jsntable 並在欄位 title 填入 標題
        jsntable::ary("title", "標題");
        $result = jsntable::iary(); 

        //修改資料表 jsntable, 欄位 title 填指定的值,欄位 content 經由 POST 接收對應的值
        $_POST['content'] = "由POST給予, 目前是修改動作" . time();
        jsntable::ary("title", "自動對應標題, 目前是修改動作");
        jsntable::ary("content", NULL);
        jsntable::_id(1);
        $result = jsntable::uary("where id = :id", "POST"); //指定POST將自動尋找對應的 $_POST key
        
        //查詢資料表 jsntable, 條件是當欄位 id 等於 2 ,將顯示欄位 id 並自訂別名為 my_id
        jsntable::_id(2);
        $DataList     = jsntable::sel("id as my_id", "where id = :id"); //顯示欄位 + 條件 + 選用debug

        // where in 的條件用法
        // 查詢資料表 jsntable, 條件是當 id 為 1 或 2 時, 顯示 欄位 id 與 title
        $place_holder = jsntable::in(array(1, 2));
        jsntable::sel("id, title", "where id in ($place_holder)");
        
    // 將物件實體化的傳統寫法
        
        //若有多筆資料庫操作
        $DB = $j->connect("mysql", "localhost", "ci_jsn", "root", "");
        $DB2= $j->connect("mysql", "localhost", "test", "root", "");

        // 那麼要改成這般操作
        // $DB->_id(3);
        // $DB->sel("*", "jsntable", "where id > :id");

        // $DB2->_id(3);
        // $DB2->sel("*", "type_base", "where id > :id limit 1000");

        //新增
        unset($ary);
        $ary['title']            =        "傳統寫法 iary 1";
        $result                  =        $j->iary("jsntable", $ary);

        //select 或 sel 多種用法 
        $j->_id(10);
        $DataList = $j->sel("*", "jsntable", "where id < :id ");

        // in
        $place_holder            = $j->in("id", array(1, 3));
        $DataList                = $j->sel("*", "jsntable", "where id in ({$place_holder})");
        
        // like
        $j->_id("%1%");
        $DataList   = $j->sel("*", "jsntable", "where id like :id");
        
        // beteween
        $j->_start(0);
        $j->_end(3);
        $DataList   = $j->sel("*", "jsntable", "where id between :start and :end ");

        //修改
        unset($_POST, $ary);
        $_POST['title']             =    "經由 POST 修改" . time();
        $j->_id(1);
        $ary['title']               =    NULL;
        $ary['content']             =    "內容修改" . time();
        $result                     =    $j->uary("jsntable", $ary, "where id = :id", "POST");
        

###使用方法

  • 前往 jsnpdo/jsnpdo/Demo.php
  • include_once 對應你的所有路徑設定
  • 設定你的資料庫資料Jsnpdo::connect("mysql", "localhost", "ci_jsn", "root", "");
  • 重新整理就會看到極簡的單元測試
    打造工廠來產生模型

    資料表建立成功,工廠模型完成 
    新增1筆成功 
    新增1筆成功 
    多筆執行成功 
    修改1筆資料 
    查詢通過 
    查詢單筆通過 
    快取存活時間:20 秒, 取得查詢快取的狀態成功:set
    查詢快取成功 
    取得快取鍵:2623d70e0f6c5ffc5153417532d47682cd8e1ca0 成功 
    取得快取內容成功 
    刪除快取 2623d70e0f6c5ffc5153417532d47682cd8e1ca0 成功,快取已不存在 
    清除所有快取成功 
    刪除1筆 
    清空成功 
    資料表刪除成功 
    傳統寫法,不支援工廠模型

    新增成功 
    新增成功 
    查詢 in 成功
    查詢 like 成功
    查詢 beteween 成功
    查詢單筆成功
    修改成功 
    刪除成功 
    一次多筆新增成功
    快取存活時間10秒, 取得查詢快取的狀態成功:set
    快取查詢成功
    快取存活時間5秒, 取得查詢快取的狀態成功:set
    快取查詢成功
    取得快取鍵:228fa87647561490f78f1a9632e68c1104a6a9ea 成功 
    取得快取內容成功 
    刪除快取 228fa87647561490f78f1a9632e68c1104a6a9ea 成功,快取已不存在 
    清除所有快取成功 
    清空成功
    刪除資料表成功

About

快速溝通PDO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published