【配置&设置】php设置支持sql server

来源:互联网 发布:ug编程是什么 编辑:程序博客网 时间:2024/06/06 07:40

       作为纯正服务器脚本语言,php对mysql支持非常不错,最近因项目需求,要在MVC web框架下支持sql server,中间折腾很几次,最后搞定,贴上解决方案:

      【1】先需要装扩展 https://www.microsoft.com/en-us/download/details.aspx?id=20098

          

        可以看到里面有31,32,40几个版本,根据服务器php版本配置,首先查看xampp中php版本

       

       

        sqlsrv 驱动  

       Version 4.0 supports PHP 7.0+
       Version 3.2 supports PHP 5.6, 5.5, and 5.4
       Version 3.1 supports PHP 5.5 and 5.4
       Version 3.0 supports PHP 5.4.

       安装好后把文件

       php_pdo_sqlsrv_56_nts.dll

       php_pdo_sqlsrv_56_ts.dll

       php_sqlsrv_56_nts.dll

       php_sqlsrv_56_ts.dll

       放到php安装目录下的ext目录下  (ext是php5以后的 都是这个目录)

      

     

     然后重启下apache,再用phpinfo测试下

     

     显示php已支持连接sql server


   【2】再需要装ODBC(不然还是连不上)

     https://www.microsoft.com/zh-cn/download/details.aspx?id=36434


      理论上成功了,实际操作一把连接sql server(本地项目直接获取数据库,并回调给web,本地php5.6版本,服务器win server 2008 r2,thinkphp3.2.3框架)

      

      

       已经能正确调取了,只不过密码输错了,改正后就能正确调取数据

       

       ps:有一点非常容易出错,在sql server中表都是大写字母,但conf.php中添加表前缀后,M实例化数据库表名应该小写,不然会出错

      

       因为在thinkphp M方法中规定首字母大写 实例化表M('UserInfo')相当于实例化配好数据库的user_info表

      而sql server中全是大写,thinkphp中应该M方法后全部小写,不然会报如下错误:

      

      

      

      

      还有一种方法比较好用,适用于在框架中直接使用原生数据库语言,这点是我师兄和我说的,在tp文档中好像没怎么介绍(也许我看的不仔细)

      应用于M方法,框架中定义好的查询是这种格式

      [原生查询语句]

      

      [框架查询语句]

      

      [原生修改语句]

      

      [框架修改语句]

      

      



       

       


      


      


      

      

   


       

     

         



原创粉丝点击