微擎开发------day02
基本要素: 微擎系统数据库操作使用PDO兼容方式,参数绑定进行查询操作
(1) 数据表加上表前缀
$sql = "select * from ".tablename('users');
等价 select * from ims_users
(2)范围条件操作
① pdo_get()查询
使用: pdo_get($tablename,$condition,$fields,$limit)
$user = pdo_get('users', array('uid' => 1), array('username', 'uid'));
等价 select username ,uid from ims_users where uid =1 limit 1
② pdo_getcolumn()查询 指定查询表中获取一条记录
使用: pdo_getcolumn($tablename,$condition=array(),$fields,$limit)
$user =pdo_getcolumn('users', array('uid' => 1),'username',1));
等价 select username from ims_users where uid =1 limit 1
③ pdo_getall()查询 指定查询表中全部记录
使用:pdo_getall($tablename,$condition=array(),$fields=array(),$keyfields='',$orderby =array(), $limit=array())
$user = pdo_getall('users', array('status' => 1), array() , '' , array('uid','groupid') , array(1,10));
//生成的SQL等同于:SELECT * FROM ims_users WHERE status ='1' ORDER BY uid,groupid LIMIT 1, 10
②pdo_getslice()查询 指定查询表中获取一条记录
使用:pdo_getslice($tablename, $condition = array(), $limit = array(), &$total = null, $fields = array(), $keyfield = '', $orderby = array())
$user = pdo_getslice('users', array('status' => 2), array(1,10) , $total , array() , '' , array('uid','groupid'));
//生成的SQL等同于$user = SELECT * FROM ims_users WHERE status ='2' ORDER BY uid,groupid LIMIT 1,10
③pdo_fetch()查询一条记录,参数绑定传值,防止SQL注入
pdo_fetch($sql,$params=arrray())
$user = pdo_fetch(" SELECT username, uid FROM " .tablename('users')." WHERE uid =:uid LIMIT 1",array(":uid"=>1));
等价: $sql = select username,uid from ims_users where uid = 1 limit 1
$user = pdo_fetch("SELECT * FROM ".tablename('users')." WHERE username LIKE :username ",array(":username"=>"%mi%"))
等价:$sql = select * from ims_user where user_name like "%mi%";
④pdo_fetchcolumn() 返回值,字符串
pdo_fetchcolumn($sql,$params=array(),$column=int)
$user_total = pdo_fetchcolumn("SELECT count(*) FROM ".tablename('users') );
⑤pdo_fetchall()
pdo_fetchall($sql,$params=array(),$keyfield="");
$user = pdo_fetchall("SELECT username,uid FROM ".tablename('users'),array(),'uid');
(3)增,删, 改
新增一条数据
pdo_insert($tablename,$data=array(),$replace =false)
$user_data = array(
'username'=>'mizhou',
'status'=>'1')
$result = pdo_insert('users',$user_data)
更新一条数据
pdo_update($tablename,$data = array(),$condition,$glue='ADD')
$user_data = array(
'username'=>'mi')
$result = pdo_update('users',$user_data,array('id'=>2));
删除指定条件的数据
pdo_delete($tablename,$condition=array(),$glue='ADD')
$result = pdo_delete('users',arrau('username'=>'mi')
自定义SQL执行语句
pdo_query($sql,$params = array())
))
与pdo_query类似的是pdo_run
pdo_run 可一次执行多条语句,sql语句之间以;分割
例如
$sql = <<< EOF
$sql1 ;$sql2; $sql3
EOF;
pdo_run($sql);
pdo_debug()调试模式
INNODB事物表的处理逻辑
使用 pdo_begin(); pdo_commit(); pdo_rollback()
微擎开发------day02的更多相关文章
- 微擎开发------day04
(1) cache_write($key,$data) 按照指定键名缓存数据 cache_write('test', $data) (2) cache_load($key) 读取指定键名的缓存数据 ...
- 微擎开发------day03
微擎系统的路由 首先附上一张完整的项目目录图,可下载图片后查看详情 详细的路由介绍 (1)后台系统路由 例如:http://local.drp.com/web/index.php?c=home& ...
- 微擎开发------day01
微擎的数据常量 $_GPC -- 全局请求变量 类型: array 说明: 合并请求参数, 包括 $_GET, $_POST, $_COOKIE的内容. 相同键名覆盖规则为 $_COOKIE 覆盖 ...
- 微擎app端上传图片后删除不了图片
相信在微擎开发的哥们都知道, 微擎在手册方面还是有点坑的,根本不让人活啊.没办法, 开发时, 只能自己看着源码来搞>>>> 好, 不多说了. 现在来看一个坑 ..直接上代码\ ...
- 玩转微信2次开发1_交互通信api.php(微擎版)
在2次开发中,涉及到比较多的也比较繁琐的就是服务器和微信服务器的交互 用户在公众号里操作回复关键词都会让微信服务器和开发者的服务器进行交互 用户一旦关注了某某公众号--微信后台会去查询该公众号是否连接 ...
- 微擎模块的安装文件manifest.xml
微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...
- 微擎开启redis memcache文档2
微擎开启redis memcache 2018年01月20日 14:39:54 luogan129 阅读数:2161更多 个人分类: 微信开发 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- 微擎开启redis memcache
微擎开启redis memcache 2018年01月20日 14:39:54 luogan129 阅读数:2161更多 个人分类: 微信开发 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- [转]Linux 微擎系统搭建
本文转自:https://www.cnblogs.com/voidking/p/5296552.html 前言 时隔一年半,再次接触微信公众平台开发.相比于掌上大学.圈里.微站ABC.图灵机器人.小i ...
随机推荐
- SQL查:询结果区分大小写
在MS SQL2005中的方法: 1)select * from user where name collate Chinese_PRC_CS_AS like 'A$%B%' escape '$'; ...
- Python判断语句
什么是判断语句 如果 今天是周六或者周日: 约妹子 如果 今天是情人节: 买玫瑰 如果 今天发工资: 先还信用卡的钱 如果 有剩余: 又可以happy了,O(∩_∩)O哈哈~ 否则: 啊啊啊啊,等30 ...
- Flask--(项目准备)--添加日志
日志:记录程序运行的状态,在manage.py同级目录下创建logs文件夹 定义日志文件: import logging from logging.handlers import RotatingFi ...
- SqlServer查询某个表的列名称、说明、备注、类型等
SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull ...
- Java中产生随机数的两个方法
Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...
- 一些恶作剧的vbs程序代码
恶作剧的vbs代码,这里提供的都是一些死循环或导致系统死机的vbs对机器没坏处,最多关机重启一下就可以了,将下面的任意一段代码保存为*.vbs即可 循环弹窗: do msgbox "hi&q ...
- Android SDK + Appium 环境搭建
一.JDK 安装 说明:JDK是包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具,所以必须最先安装. 链接: https://pan.baidu.com/s/1NfNK_K7vukF ...
- win7 英文版 中文乱码
win7 为了使用英文的 pcb 软件,把语言包改为英文版后,碰到一部分中文会变成乱码.通过下面方法可以识别: control panel --> region and language --& ...
- gdb 使用
2018年7月27日21:05:16 —— 多进程调试 1.follow_fork_mode 作用:在fork之后跟随父进程还是子进程 可以使用 show follow_fork_mode查看再for ...
- Spring MVC 之 请求url 带后缀的情况
RequestMappingInfoHandlerMapping 在处理http请求的时候, 如果 请求url 有后缀,如果找不到精确匹配的那个@RequestMapping方法.那么,就把后缀去掉, ...