1. 为php添加 sqlsrv 扩展
去微软官网 https://www.microsoft.com/en-us/download/ 搜索php ,
点击Microsoft Drivers for
PHP for SQL Server
下载最新版的 sqlsrvXX.exe( 我下载的是SQLSRV32.EXE )
运行解压, 得到一堆DLL, 选取适合自己php版本的dll, 放到php\ext\目录下; (我的php版本为5.6.3, 选取的是php_sqlsrv_56_ts.dll, 56就是5.6.x的php版本)
在php.ini 增加一行 extension=php_sqlsrv_56_ts.dll
重启服务, 查看phpinfo(), 如果有sqlsrv项, 证明扩展以安装成功.
又因为 SQLSRV3.X.EXE 需要额外的驱动 Microsoft ODBC Driver 11 (或更高版本), 所以需要安装 Microsoft ODBC Driver 11
访问 https://msdn.microsoft.com/en-us/library/cc296170%28v=sql.105%29.aspx
找到这段话
Versions 3.2 and 3.1 require Microsoft ODBC Driver 11 (or higher) for SQL Server. To download the Microsoft ODBC Driver 11 for PHP for SQL Server, see
Microsoft ODBC Driver 11 for SQL Server.
点击 Microsoft ODBC Driver 11 for SQL Server.
下载安装.
全部完成!!!!!
写个测试脚本
$serverName = "xxxxxx"; //serverName\instanceName $connectionInfo = array( "Database"=>"", "UID"=>"xxx", "PWD"=>"xxx"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.<br />"; }else{ echo "Connection could not be established.<br />"; die( print_r( sqlsrv_errors(), true)); }
2. 在CI配置sqlsrv数据库配置 (CI 3.0.0为例)
//静态配置
打开config\database.php 修改, 注意 dbdriver这个项填上 sqlsrv ;
//动态配置 或 多数据库
在model 文件中, 在构造函数里面 (记得写parent::__contruct() 来继承父类的构造函数) 加入
$this->another_db = $this->load->database( $config, true ); //$config可以直接从database.php复制, true为有返回值.
然后就可以飞了.
$this->another_db->get();
$this->another_db->get_where();
.....