分享关于连接sqlsrv的经验

浏览:7217 发布日期:2014/03/03 分类:技术分享
为了答谢各位高手在讨论区提供的技术,我也说说自己的一点经验提供给后来的新手查询,
以前php连接sqlserver是要保证ThinkPHP\Lib\Driver\Db文件夹里面有DbMsql.class.php 配置文件'DB_TYPE'=>'mssql' 这方面我没有研究过。
本文主要说php5.x版本的,大家都知道微软提供的自己的驱动,mssql也叫sqlsrv了。下面开始:
一、要下载thinkphp的Dbsqlsrv.class.php文件放到ThinkPHP\Lib\Driver\Db文件夹,下载地址:https://code.google.com/p/thinkphp/source/browse/trunk/Extend/Driver/Db/DbSqlsrv.class.php?r=3081,新建Dbsqlsrv.class.php文件复制代码粘贴即可。
二、配置实例:'DB_sqlsrv' => array( 
        'db_type'  => 'sqlsrv',
        'db_user'  => 'sa',
        'db_pwd'   => 'mima',
        'db_host'  => 'host地址',
        'db_port'  => '端口', //sqlserver默认1433
        'db_name'  => '数据库名',        
),
三、action调用实例<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
  
    $Dao = M('table',null,"DB_SQLSRV"); //如果表没有后缀用null而不能用'';
    
    $count = $Dao->count();// 计算总数
   
    import("ORG.Util.Page"); // 导入分页类
   
    $p = new Page($count, 10); // 实例化分页类
     $p->setConfig('prev','上一页'); 
        $p->setConfig('next','下一页'); 
        $p->setConfig('first','首页'); 
        $p->setConfig('last','尾页'); 
        $p->setConfig('theme',"共 %totalPage% 页,共%totalRow%%header%, %first% %upPage% %linkPage% %downPage% %end%");  
         
    $page = $p->show(); // 分页显示输出
  
   $list = $Dao->table('table1 a,s_table2 b')->field('a.*,b.*')->where("b.id = a.id and a.datime between '2014-01-01' and  '2015-01-01'")->limit($p->firstRow.','.$p->listRows)->order('a.dRehear')->select();
//注意:sqlserver数据库查询结果可能存在时间的数据是一个数组,那么双表关联查询就会查不出来,所以最好field('a.*,b.*') 里面只写上你需要查询的数据即可而不要用*查询表内所有数据,至于时间是一个数组 该怎么解决期待其他高手回复
   


   

    // 赋值赋值
    $this->assign('page', $page);
    $this->assign('list', $list);

$this->display();    

 
  
    }
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>