Code Igniter + PHP5.3 + SqlServer2008配置

1、配置apache+php5.3

2、配置sql server服务器,并允许远程连接。

3、去http://www.microsoft.com/en-us/download/details.aspx?id=20098下载SQLSRV20.EXE,如果是php5.4,5.5的,下载SQLSRV30.EXE或SQLSRV31.EXE,执行后抽取文件到任意目录,里面有说明文档,看是否和您的php版本相匹配。

4、执行SQLSRV20.EXE抽取文件到指定目录,查看phpinfo(),看看您的php编译器型号及是否支持多线程等。查看字段为“PHP Extension Build”,我的是“API20090626,TS,VC9”,所以我将上一步抽取出的文件php_pdo_sqlsrv_53_ts_vc9.dll和php_sqlsrv_53_ts_vc9.dll放到php安装目录下的ext文件夹里。注意选择的文件名中含有“ts”,“vc9”。不要选择不匹配的文件。

5、修改php.ini,添加

extension=php_pdo_sqlsrv_53_ts_vc9.dll
extension=php_sqlsrv_53_ts_vc9.dll

重启apache,查看phpinfo(),确保apache已经支持sqlsrv.

6、配置CodeIgniter。

application\config\database.php里配置数据库连接信息。

$active_group = ‘default‘;
$active_record = TRUE;

$db[‘default‘][‘hostname‘] = ‘服务器IP‘;
$db[‘default‘][‘username‘] = ‘用户名‘;
$db[‘default‘][‘password‘] = ‘密码‘;
$db[‘default‘][‘database‘] = ‘数据库名‘;
$db[‘default‘][‘dbdriver‘] = ‘sqlsrv‘;
$db[‘default‘][‘dbprefix‘] = ‘‘;
$db[‘default‘][‘pconnect‘] = FALSE;
$db[‘default‘][‘db_debug‘] = TRUE;
$db[‘default‘][‘cache_on‘] = FALSE;
$db[‘default‘][‘cachedir‘] = ‘‘;
$db[‘default‘][‘char_set‘] = ‘utf8‘;
$db[‘default‘][‘dbcollat‘] = ‘utf8_general_ci‘;
$db[‘default‘][‘swap_pre‘] = ‘‘;
$db[‘default‘][‘autoinit‘] = TRUE;
$db[‘default‘][‘stricton‘] = FALSE;

可以不用写端口$db[‘default‘][‘port‘] =;默认是1433

application\models里创建一个数据库类。

<?php
class Expert_model extends CI_Model {
function __construct() {
parent::__construct ();
}

public function getCount(){
$sql = ‘select count(*) as count from dbo.View_expert‘;
$query = $this->db->query ( $sql );
return $query->row()->count;
}

public function getRows(){
$sql = ‘select top 10 * from dbo.View_expert‘;
$query = $this->db->query ( $sql );
return $query->result_array();
}

}

在application/controllers里进行测试。

<?php
class Test extends CI_Controller {
public function view() {
$this->load->helper ( ‘url‘ );
$this->load->model ( ‘Expert_model‘, ‘‘, TRUE );
var_dump($this->Expert_model->getCount());
var_dump($this->Expert_model->getRows());
}
}
?>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。