kohana :PHP框架sql使用
来源:互联网 发布:淘宝怎样登陆子账号 编辑:程序博客网 时间:2024/06/05 19:59
开始使用Kohana咯,原因很简单,因为他简单方便~
以下是3.07的使用,不知道兼用其他版本不~
不过官网没有使用教程,自己摸索出来的,有错误的时候大家指出来哦,共同进步嘛~
首先是配置:modules\database\config\database.php
<?php'default' => array('type' => 'pdo','connection' => array(/** * The following options are available for PDO: * * string dsn Data Source Name * string username database username * string password database password * boolean persistent use persistent connections? */'dsn' => 'mysql:host=localhost;dbname=kohana','username' => '******',//'password' => '******',//'persistent' => FALSE,),/** * The following extra options are available for PDO: * * string identifier set the escaping identifier */'table_prefix' => 'ko_','charset' => 'utf8','caching' => FALSE,'profiling' => TRUE,),
可以配置多个数据库配置哦~
配置好了之后就可以使用咯
配置完了就可以使用咯
在你的控制器中就可以这样
数据库实例
有两种数据库实例
1.DB数据库实例
2. database数据库实例
其中DB是对database的再次封装
下面描述两个数据库实例的使用
Database
取得方法:
<?php$database=Database::instance();//可以取得database实例#例外在模型中,dababase做为模型构造函数的唯一一个传递参数,并在模型中有$this->_db属性$database=$this->_db;
使用方法:(假设在模型中)
插入数据:
<?php
$sql="INSERT INTO `kohana`.`user` (`name` ,`age` )VALUES ( 'test', '1'), ( 'test2', '2')";$dat=$this->_db->query(Database::INSERT,$sql,false);
# return 返回的两个值中,第一个是自动增长的ID,如果有的话,第二是影响的行数
更新数据:
<?php$sql="UPDATE `ko_users` SET `user_name` = 'test111q1' ";$dat=$this->_db->query(Database::UPDATE,$sql,false);#return 返回影响行数
删除数据:
<?php$sql="DELETE FROM `kohana`.`user` WHERE `user`.`id` = 1";$dat=$this->_db->query(Database::DELETE,$sql,false);#return 返回影响行数
查询数据:
<?php$sql="select * from ko_com_var";$res=$this->_db->query(Database::SELECT,$sql,false);#得到所有查询数据$res->as_array();#得到一条查询结果$res->offsetGet(0);#取得特定记录的指定字段值$res->get("name");#移动指针并取得指定字段$res->next()->get("name");$res->prev()->get("name");#计算取得结果总数$res->count();#还有其他方法不在一一罗列,请查看手册
其他常用帮助函数:
<?php#过滤字符串用,不知道为什么放到这个单例中,该是公用才对~,或许是每中数据库的过滤的东西有差别吧$str=$this->_db->escape("ddddd ddd");#表前缀,这个常用~$str=$this->_db->table_prefix();#还有其他查看帮助,不介绍咯
DB实例使用(以下演示在Kohana环境即可)
有两种方式:
第一种:
以下的execute(); 有一个数据库适配器参数,当有多个数据连接的时候指定操作那个数据库,就是配置文件的那个KEY值
插入数据:
<?php$sql="INSERT INTO `kohana`.`user` (`name` ,`age` )VALUES ( 'test', '1'), ( 'test2', '2')";#其实也可以用Database::UPDATE,结果只返回影响行数,不过还是按规范好.呵呵~,上述Database也可以$dat=DB::query(Database::INSERT,$sql);$row=$dat->execute();#返回的两个值中,第一个是自动增长的ID,如果有的话,第二是影响的行数Kohana::debug($row);
数据更新:
<?php$sql="UPDATE `user` SET `name` = 'test2' WHERE `user`.`id` =1 ";$dat=DB::query(Database::UPDATE,$sql);$row=$dat->execute();#返回影响行数echo Kohana::debug($row);
数据删除:
<?php$sql="DELETE FROM `kohana`.`user` WHERE `user`.`id` = 1";$dat=DB::query(Database::DELETE,$sql);$row=$dat->execute();#返回影响行数echo Kohana::debug($row);
数据查询:
<?php$sql="select * from user";$dat=DB::query(Database::SELECT,$sql);#指定数据库取数据$row=$dat->execute($database)->offsetGet(0);#默认数据库取数据,和上面的Database一样,都是返回Database_Result_Cached对象,实现了迭代器模式$rus=$dat->execute();#取得部分结果$row=$rus->offsetGet(0);#取得所有结果$allrow=$rus->as_array();#取得特定记录的指定字段值$no1name=$rus->get("name");#移动数组指针,并取指定字段值$no2name=$rus->next()->get("name");#当前指针echo $rus->key();#移动数组指针,并取指定字段值echo $no1name=$rus->prev()->get('name');#取行数echo $rus->count();
第二种:(官网文档称之为查询器模式,不好用,呵呵,简单的可以用下)
插入数据:
<?php$query = DB::insert('user', array('user', 'age'))->values(array('test1', '11'));$query->execute();#返回和上面一样
更新数据:
<?php$query = DB::update('user')->set(array('age' => '100'))->where('user', '=', 'test1');$query->execute();#返回和上面一样
删除数据:
<?php$query = DB::delete('user')->where('age', 'IN', array('100', '11'));$query->execute();#返回和上面一样
查询数据:
<?php$query = DB::select()->from('user')->where("id","=","1");$res=$query->execute();#和上面一样,$res是Database_Result_Cached对象$res->as_array();#其他方法不演示了~
附注:
数据绑定,抄官方实例一个,该很简单,比较容易看懂
<?php$query = DB::query(Database::INSERT, 'INSERT INTO users (username, password) VALUES (:user, :pass)') ->bind(':user', $username) ->bind(':pass', $password); foreach ($new_users as $username => $password){ $query->execute();}
阅读全文
0 0
- kohana :PHP框架sql使用
- php框架kohana 3简介
- PHP HMVC框架kohana 小结1
- kohana框架index.php执行步骤
- 开源PHP框架Kohana的介绍
- Kohana框架基础使用-控制器-model-view
- 比较三种php框架:Zend Framework, CodeIgniter与Kohana
- PHP开发框架kohana中处理ajax请求的例子
- PHP开发框架kohana中处理ajax请求
- php kohana框架上传文件验证规则写法
- kohana框架查询生成器
- kohana框架生成feed
- kohana 框架简单小结
- Kohana框架的特性
- kohana SQL查询操作
- Kohana 数据库使用
- 理解Kohana框架 Cascading Filesystem
- kohana框架类扩展透明性
- 新建项目与数据库搭建
- sql事务
- websocket
- scikit-learn的主要模块和基本使用
- leveldb:write(如何处理并发写操作)
- kohana :PHP框架sql使用
- Echarts Theme的使用
- jquery实现侧边栏的隐藏与显示
- 线上的项目如何快速定位问题
- 机器学习学习笔记
- 算法学习记录十四(C++)--->二叉树的镜像
- How to install phash on ubuntu
- git自动打tag,再生成增量包
- Qt 进程 QProcess