用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3776|回复: 2
收起左侧

[讨论/交流] CI连接sqlserver2005的实例

[复制链接]
发表于 2011-8-7 16:46:09 | 显示全部楼层 |阅读模式
本帖最后由 abcde 于 2011-8-7 16:46 编辑

本人今天做了一个例子关于CI连接sqlserver2005,由于项目需要,所以去研究了一下.
我用的是wamp2.0 php版本5.2.6
首先在models文件夹下面建立一个dblist.php
  <?php Class dblist extends CI_Model  {
      function __construct(){
    parent::__construct();//如果用的是php5的话建议用这种方式
}
  function test(){
    //$this->db->query("insert into users(UID,UNAME,UPWD)values('A011','三板斧','".md5('123456')."')");//增加一条记录
          //$this->db->query("update users set UNAME='四板斧' where UID='A011'");//修改一条纪律
    //$this->db->query("delete from users where id=1");//删除一条记录
  return $this->db->query("select * from users")->result_array();//将数据库里的记录查出来,以关联的形式(图片附件里有)
//return $this->db->query("select * from users")->result();
}
}  
到controlls 文件夹下面建立一个welcome.php
<?php Class Welcome extends CI_Controller{
    function __construct(){
     parent::__construct();
    $this->load->model('dblist');
    $this->load->database();
}
function test3(){
   print_r($this->dblist->test());
}
如果连接过程出错你先去看一下php下面ntwdblib.dll看一下版本是多少如果是2000.2.8.0的话,是连不上sqlserver2005的。版本要2000.80.194.0才行,这个文件附近里面有。将这个文件放到windows\system32\下面去
这样应该就能连接到sqlserver2005了,如果还是报错你就到system\database\drivers\mssql\ 下面打开mssql_driver.php里面的db_connect()方法下面的return @mssql_connect($this->hostname, $this->username, $this->password);的@去掉,看一下报什么错,我就是打开这个@之后才把错误看出来的.
连sqlserver之前将controller\config\下面的database.php改成像这样的
$db['default']['hostname'] = '.';//本地做测试的时候要用.不要用localhost,用localhost会报错。
$db['default']['username'] = 'sa';
$db['default']['password'] = '******';
$db['default']['database'] = 'test';
$db['default']['dbdriver'] = 'mssql';
到此CI连接sqlserver就完成了.


ntwdblib(sql2005).rar

172.2 KB, 下载次数: 69

CI连接sqlserver2005

发表于 2011-8-8 11:51:34 | 显示全部楼层
谢谢分享~~虽然用不到
发表于 2011-10-25 11:12:58 | 显示全部楼层
我的是2000.2.8.0连接MSSQL2005没问题

本版积分规则