一般php都是用mysql数据库,但有时也会用到mssql,如我现在做这项目就需要连接第三方的mssql数据库。他们不提供API,只给数据库去连接,没办法。
PHP在Windows 2008 R2的配置办法:
IIS7出来后,我就喜欢这iis7的配置。 主要利器是Web Platform Installer,会节省你很多很多时间。下载地址:http://www.iis.net/downloads ,下载下来安装好后在iis站点的主页就可以看到一个web 平台安装程序 ,打开他搜索php, 然后就有如下:
选择安装好 php for sql server,就可以了。不用那么麻烦。
刚开始准备是用odbc的。但CI的odbc有点问题。 见这:
http://stackoverflow.com/questions/10984651/error-executing-queries-in-sql-server-native-client-10-0
还发现问题就是如果字段有中文,就会出错。 后台修改成
//$db['sqlserver']['hostname'] = "Driver={SQL Server Native Client 11.0};Server=192.168.1.2;Database=doxxxP;";
$db['sqlserver']['hostname'] = "192.168.1.2";$db['sqlserver']['username'] = "randy";$db['sqlserver']['password'] = "pwduser";$db['sqlserver']['database'] = "dotnxxxxERP";/**/
/*$db['sqlserver']['hostname'] = 'RANDY\Sql2008';
$db['sqlserver']['username'] = "sa";
$db['sqlserver']['password'] = "password";
$db['sqlserver']['database'] = "db5";*/
//$db['sqlserver']['dbdriver'] = "odbc";
$db['sqlserver']['dbdriver'] = "sqlsrv";$db['sqlserver']['dbprefix'] = "";$db['sqlserver']['pconnect'] = FALSE;$db['sqlserver']['db_debug'] = TRUE;$db['sqlserver']['cache_on'] = FALSE;$db['sqlserver']['cachedir'] = "";$db['sqlserver']['char_set'] = "utf8";$db['sqlserver']['dbcollat'] = "utf8_general_ci";
修改成sqlsrv,就搞定
然后测试:
$msdb = $this->load->database('sqlserver', TRUE);$sql = "SELECT * FROM [VCRM] ";$list = $msdb -> query($sql)-> result_array();
就有数据了。这样比其他配置都快。已经测试。
改天写一下linux的php连接mssql。