CodeIgniter链接ms sql 的过程windows 2008
一般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。