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、在apache服务器上直接安装sqlncli.msi,这个文件是协助windows环境访问sql server所在的数据库服务器的。
7、配置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()); } } ?>