zoukankan      html  css  js  c++  java
  • 微擎数据库基本操作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);
                }
    世界上最美的风景,是自己努力的模样
  • 相关阅读:
    【bzoj3211】花神游历各国
    四维偏序(K-D-Tree+rebuild)
    【bzoj3295】动态逆序对
    BZOJ3444: 最后的晚餐
    BZOJ3091: 城市旅行
    BestCoder Round #72
    BZOJ2733: [HNOI2012]永无乡
    wc2016总结
    BZOJ4381: [POI2015]Odwiedziny
    BZOJ4196: [Noi2015]软件包管理器
  • 原文地址:https://www.cnblogs.com/xiong-hua/p/11995182.html
Copyright © 2011-2022 走看看