微擎开发------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 ...
随机推荐
- zombodb安装试用
pg 数据库安装 参考如下安装 yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pg ...
- Git-撤销(回退)已经add,commit或push的提交
本文只阐述如何解决问题,不会对git的各种概念多做介绍,如果有兴趣可以点击下面的链接,进行详细的学习:Pro Git本文适用的环境 现在先假设几个环境,本文将会给出相应的解决方法:1. 本地代码(或文 ...
- makefile或shell中的一些变量
总是记不住,作个笔记 $@ 所有目标文件 $< 第一个依赖文件的名称 $? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚 $^ 所有的依赖文件,以空格分开,不包含重复的依 ...
- Docker容器常用命令
容器是镜像的一个运行实例.两者不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层. 一.创建容器 1.新建容器 docker create:新建一个容器 create命令命令支持的选项十 ...
- ANSI编码导致的乱码
美帝那边的一个 donet 项目,打开后发现一段string里面各种乱码.一通折腾后发现是编码格式问题.这段string所在的类文件保存格式为ANSI,而不是VS默认的UTF-8. ANSI编码电脑是 ...
- [转][C#]Linq 的扩展方法
public static class LinqEx { public static IEnumerable<TResult> LeftExcludingJoin<TSource, ...
- redis集群设置密码
redis集群密码设置 1.密码设置(推荐)方式一:修改所有Redis集群中的redis.conf文件加入: masterauth passwd123 requirepass passwd123 说 ...
- KPPW2.5 漏洞利用--CSRF
kppw2.5 CSRF漏洞复现 漏洞说明 http://192.168.50.157/kppw25/index.php?do=user&view=message&op=send 收件 ...
- 基于CentOS搭建个人Leanote云笔记本
Leanote 依赖 MongoDB 作为数据存储,下面开始安装MongoDB: 1. 下载启动 MongoDB 下载 MongoDB 进入 /home 目录,并下载 MongoDB: cd /hom ...
- 爬虫:输入网页之后爬取当前页面的图片和背景图片,最后打包成exe
环境:py3.6 核心库:selenium(考虑到通用性,js加载的网页).pyinstaller 颜色显示:colors.py colors.py 用于在命令行输出文字时,带有颜色,可有可无. # ...