CanPHP框架技术讨论

导航

 

一、canphp数据库类初始化
//数据库配置$config['DB_TYPE']='mysql';//数据库类型$config['DB_HOST']='localhost';//数据库主机$config['DB_USER']='root';//数据库用户名$config['DB_PWD']='123456';//数据库密码$config['DB_PORT']='3306';//数据库端口,mysql默认是3306,一般不需要修改$config['DB_NAME']='cp';//数据库名$config['DB_CHARSET']='utf8';//数据库编码$config['DB_PREFIX']='cp_';//数据库前缀$config['DB_PCONNECT']=false;//true表示使用永久连接,false表示不适用永久连接,一般不使用永久连接
$config['DB_CACHE_ON']=false;//是否开启数据库缓存,true开启,false不开启$config['DB_CACHE_PATH']='./data/db_cache/';//数据库查询内容缓存目录,地址相对于入口文件$config['DB_CACHE_TIME']=0;//缓存时间,0不缓存,-1永久缓存$config['DB_CACHE_CHECK']=false;//是否对缓存进行校验//数据库配置结require(CP_PATH.'core/cpModel.class.php');//加载数据库模型类$model=new cpModel($config);//实例化模型类

二、数据查询1、查询一条数据:$info=$model->table('表名')->where($condition)->find();成功返回一维数组,否则返回false限制字段$info=$model->table('表名')->field('id,title')->where($condition)->find();排序$info=$model->table('表名')->field('id,title')->where($condition)->order('id desc')->find();注意:order('id desc')逆序order('id asc')升序缓存$info=$model->table('表名')->cache(10)->where($condition)->find();cache($time) $time>0,数据缓存时间,$time=0,不缓存,$time=-1永久缓存2、查询多条数据$list=$model->table('表名')->where($condition)->select();成功返回二维数组,否则返回false限制字段$list=$model->table('表名')->field('id,title')->where($condition)->select();排序$list=$model->table('表名')->field('id,title')->where($condition)->order('id desc')->select();限制条数$list=$model->table('表名')->field('id,title')->where($condition)->order('id desc')->limit(10)->select();缓存$list=$model->table('表名')->cache($time)->field('id,title')->where($condition)->order('id desc')->limit(10)->select();cache($time) $time>0,数据缓存时间,$time=0,不缓存,$time=-1永久缓存3、查询数据条数$count=$model->table('表名')->where($condition)->count();成功返回一个整数,否则返回false$count=$model->table('表名')->cache($time)->where($condition)->count();
注意:field(),limit(),order(),cache(),table(),where()没有先后顺序之分$condition条件可为字符串或数组,如果是数组,数组下标表示数据库字段名 多个元素用and连接复杂一点的,可以写成原生的sql查询条件
三、插入数据$model->table('表名')->data($data)->insert();
$data为数据数组 如$data['name']='admin';$data['email']='404352772@q.com';插入成功返回插入数据的id,否则返回false

四、更新数据$model->table('表名')->data($data)->where($condition)->update();$data为数据数组 如$data['name']='admin';$data['email']='404352772@q.com';$condition为查询条件,可为数组或字符串,$condition['id']=1;更新成功返回影响的数据行数,否则返回false

五、删除数据$model->table('表名')->where($condition)->delete();$condition为查询条件,可为数组或字符串,$condition['id']=1;删除成功返回影响的数据行数,否则返回false
六、原生sql语句执行$model->query($sql);如果$sql为查询条件,则返回二维数组,且可以设置缓存$model->cache->query($sql);如果sql不是查询条件语句,缓存设置无效,返回的数据跟mysql_query($sql)一样

posted on 2011-03-15 21:10  創丗仼  阅读(380)  评论(1编辑  收藏  举报