微擎數據庫基本操作PDO


pdo_get

根據條件(AND連接)到指定的表中獲取一條記錄

  • $tablename 參數指定要查詢的數據表名,此處傳入的表名不要使用tablename()函數

  • $condition 參數指定查詢的條件,以是 AND 連接,支持大於,小於等范圍查詢

  • $fields 參數指定查詢返回的字段列表

  • //根據uid獲取用戶的用戶名和用戶Id信息
    //生成的SQL等同於:
    SELECT username, id FROM ims_users WHERE uid = '1' LIMIT 1
    $user = pdo_get('users', array('uid' => 1), array('username', 'id'));
    //生成的SQL等同於:
    SELECT username FROM ims_users WHERE user_id = '1' AND status = '1' LIMIT 1
    $user = pdo_get('users', array('user_id' => '1', 'status' => 1), array('username'));

    pdo_getcolumn

    根據條件(AND連接)到指定的表中獲取一條記錄的指定字段

  • string | int pdo_getcolumn($tablename, $condition = array(), $field);
    • $tablename 參數指定要查詢的數據表名,此處傳入的表名不要使用tablename()函數

    • $condition 參數指定查詢的條件,以是 AND 連接,支持大於,小於等范圍查詢

    • $field 要獲取的字段名稱

    •  //根據uid獲取用戶的用戶名
       //生成的SQL等同於:
       SELECT username FROM ims_users WHERE uid = '1' LIMIT 1
      
       $username = pdo_getcolumn('users', array('uid' => 1), 'username');

      pdo_getall

      根據條件(AND連接)到指定的表中獲取全部記錄

      • $keyfield 參數傳入一個已存在的字段名稱,結果數組鍵值就為該字段,否則為自然排序

      • 其它參數同pdo_get函數

      •  array | boolean pdo_getall($tablename, $condition = array(), $fields = array(), $keyfield = '')
         //獲取全部啟用的用戶
         //生成的SQL等同於
         SELECT * FROM ims_users WHERE status = '1'
         $user = pdo_getall('users', array('status' => 1));

        pdo_getslice

        根據條件(AND連接)到指定的表中獲取某個區間的記錄,此函數和 pdo_getall 的區別是可以指定limit 值

        • $limit 參數指定查詢語句的LIMIT值,array(start, end) 或是直接傳入范圍 2,3

        • $total 參數指定查詢結果的總條數,方便進行分頁操作

        •  array | boolean pdo_getslice($tablename, $condition = array(), $limit = array(), &$total = null, $fields = array(), $keyfield = '')
           $user = pdo_getslice('users', array(), array(0, 10), $total);

          pdo_fetch

          根據SQL語句,查詢一條記錄

            • $sql 參數指定要返回記錄集的SQL語句

            • $params 參數指定為SQL語句中的參數綁定傳值,防止SQL注入 
              需要注意的是使用參數綁定時,SQL語中等號后不需要使用引號,傳入的值必須與綁定的名稱一致

        • array | boolean pdo_fetch($sql, $params = array());
            :uid 是參數的一個占位符,沒有使用引號,傳入的第二個參數中要與SQL中的占位名稱相同
            $user = pdo_fetch("SELECT username, id FROM ".tablename('users')." WHERE uid = :uid LIMIT 1", array(':uid' => 1));
            LIKE 占位的使用方法
            $user = pdo_fetch("SELECT * FROM ".tablename('users')." WHERE username LIKE :username", array(':username' => '%mizhou%'));

          pdo_fetchall

          根據SQL語句,查詢全部記錄,使用方法與pdo_fetch相同

        • array | boolean pdo_fetchall($sql, $params = array(), $keyfield = '') 

                          $all = pdo_fetchall('select a.pv,a.orderid,a.createtime,b.asset_num from '.tablename('ewei_shop_order_buysend') .'a left join'.tablename('ewei_shop_groups_order') .'b on a.orderid = b.id  where a.openid = '."'".$openid."'".' and a.success = 1 and b.asset_name = "QJGM"');

          pdo_update

          更新指定的數據表的記錄

          • $glue 參數指定前面 $condition 數組條件的關聯字 AND 或是 OR

          • array | boolean pdo_update($tablename, $data = array(), $condition, $glue = 'AND')
                                    $user_data =array(
                                        "QJGM"=>$integral,
                                    );
            
                                    $result = pdo_update('user_integral', $user_data, array('uid' =>$uid));

            pdo_insert

            對指定數據表插入一條新記錄

            • $tablename 參數指定要插入記錄的數據表名,此處傳入的表名不要使用tablename()函數

            • $data 參數指定要插入的記錄,格式為與數據表字段對應的關聯數組

            • $replace 參數指定插入方式使用 INSERT 語句或是 REPLACE 語句(查找到主鍵相同的數據選擇update)

            • int | boolean pdo_insert($tablename, $data = array(), $replace = false)
              //添加一條用戶記錄,並判斷是否成功
              $user_data = array( 'username' => 'xiaomi', 'status' => '1',);
              $result = pdo_insert('users', $user_data);
              if (!empty($result)) { $uid = pdo_insertid(); message('添加用戶成功,UID為' . $uid);
              }

               


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM