摘要

sql server 2008

1.下载微软提供的dll

下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098

php5.4需下载 SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。

2、将对应自己php版本的dll文件copy到php ext目录下

ts是指线程安全(ThreadSafe),nts是指线程不安全,得根据安装的php版本来选择,如果不确定,就分别尝试一下;

我用的php5.4,就将php_sqlsrv_54_ts.dll复制到ext目录下,

我用的php5.4,就将php_pdo_sqlsrv_54_ts.dll复制到ext目录下,

例如:D:\Program Files\PHP 5.4\ext

3、修改php.ini文件

增加二行:extension=php_pdo_sqlsrv_54_ts.dll

                      extension=php_sqlsrv_54_ts.dll

修改一行 :   mssql.secure_connection = Off  改为on

4、重启apache

5、配置MS SQL Server2005

a、打开 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议;

b、启用“Named Pipes”和“TCP/IP”,默认是已禁用的;

c、右键点击“TCP/IP”,选择“属性”,选择“IP地址”,在”ALLIP“下的“TCP动态端口”后填写1433;

d、重启SQL Server。

备注:记得开启sa登录。

6、安装Microsoft SQL Server 2012 Native Client.msi

根据自己系统在PHP服务器所在机器安装Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=29065

此工具不支持XP系统哦,所以XP去用PHP5.3吧~

另外这个是安装在php环境的的服务器下面 PS:不是独立数据库服务器的请自动忽略。

7、php数据库代码

  1. <?php
  2. /*连接数据库,5.4的函数不再是mssql_connect了:*/
  3. $conInfo=array("Database"=>"att2008", "UID"=>"att2008", "PWD"=>"att2008");
  4. $conn=sqlsrv_connect("127.0.0.1", $conInfo);
  5.  
  6. /*判断连接成功与否:*/
  7. if( $conn == false )
  8. {
  9. die( print_r( sqlsrv_errors(), true));
  10. }
  11. else
  12. {
  13. echo("yes<br>");
  14. }
  15.  
  16. $table_name = "USERINFO";
  17. /*如果你牛叉的数据库表名是中文,记得加上这句:*/
  18. //$table_name = iconv("UTF-8", "GB2312", "牛叉的中文表名");
  19. /*query语句:*/
  20. $rs=sqlsrv_query($conn, "select * from ".$table_name);
  21.  
  22. if($rs == false)
  23. {
  24. echo("false<br>");
  25. }
  26. else
  27. {
  28. while($row = sqlsrv_fetch_array($rs))
  29. {
  30. print_r($row);
  31. }
  32. sqlsrv_free_stmt($rs);
  33. sqlsrv_close($conn);
  34. }
  35. ?>

8,至此,网上教程复制完毕,但是该方法不支持XP系统!(我使用的是phpstudy,非常便捷的一体式多合一服务)

但是该方法中开启了mssql.php,于是使用以下代码可以在XP中连接sql2008

  1. <?php
  2. $server ="LPP-20140312390\s2008"; //服务器IP地址,如果是本地,可以写成localhost,本例是多个实例
  3. $uid ="sa"; //用户名
  4. $pwd ="sql2008"; //密码
  5. $database ="test"; //数据库名称
  6.  
  7. //进行数据库连接
  8. $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
  9. mssql_select_db($database,$conn);
  10.  
  11. //执行查询语句
  12. $query ="select * from demo";
  13. $row =mssql_query($query);
  14.  
  15. //打印输出查询结果
  16. while($list=mssql_fetch_array($row))
  17. {
  18. print_r($list);
  19. echo "<br>";
  20. }
  21. //PDO连接不成功,没有微软的库,2012库不在支持XP
  22. // $conn = new PDO( "sqlsrv:Server=(LPP-20140312390\s2008);Database=test", "sa", "sql2008");
  23. // $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  24.  
  25. // $query = 'select * from demo';
  26. // $stmt = $conn->query( $query );
  27. // while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
  28. // print_r( $row );
  29. // }

9,xp系统中连接SqlServer2008

9.1同样下载http://www.microsoft.com/en-us/download/details.aspx?id=20098

找到sqlsrv20,这里面是支持xp的DLL,支持范围包括5.3,5.2,不支持5.4,其中nt是线程安全,v6v9意思是apache是哪种语言编写的,是c++9还是c++6,这个安装的时候提示错误 就更改一个

下载Microsoft SQL Server 2008 Native Client.msi,这个是必须的

9.2重启服务器

测试代码

  1. <?php
  2. //PDO连接方式
  3. // $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", "sa", "sql2008");
  4. try {
  5. $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", NULL, NULL);
  6. $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  7. }
  8.  
  9. catch( PDOException $e ) {
  10. die( "Error connecting to SQL Server" );
  11. }
  12.  
  13. echo "Connected to SQL Server\n";
  14.  
  15. $query = 'Select * From sysobjects ';
  16. $stmt = $conn->query( $query );
  17. while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
  18. p( $row );
  19. }
  20.  
  21. // /* Specify the server and connection string attributes. */
  22. // $serverName = "LPP-20140312390\s2008";
  23. // $connectionInfo = array( "Database"=>"CDTXYYBJP");
  24.  
  25. // /* Connect using Windows Authentication. */
  26. // $conn = sqlsrv_connect( $serverName, $connectionInfo);
  27. // if( $conn === false )
  28. // {
  29. // echo "Unable to connect.</br>";
  30. // die( print_r( sqlsrv_errors(), true));
  31. // }
  32.  
  33. // Query SQL Server for the login of the user accessing the
  34. // database.
  35. // $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
  36. // $stmt = sqlsrv_query( $conn, $tsql);
  37. // if( $stmt === false )
  38. // {
  39. // echo "Error in executing query.</br>";
  40. // die( print_r( sqlsrv_errors(), true));
  41. // }
  42.  
  43. // /* Retrieve and display the results of the query. */
  44. // $row = sqlsrv_fetch_array($stmt);
  45. // echo "User login: ".$row[0]."</br>";
  46.  
  47. // /* Free statement and connection resources. */
  48. // sqlsrv_free_stmt( $stmt);
  49. // sqlsrv_close( $conn);

php 连接 mssql sql2008的更多相关文章

  1. python 连接mssql数据库

    1.目标数据sql2008 R2 ComPrject=>TestModel 2.安装python 连接mssql 模块 运行 pip install pymssql-2.2.0.dev0-cp3 ...

  2. php 连接 mssql 常见的所有问题

    php连接mssql时 ntwdblib.dllPHP连接MSSQL配置和PHP代码演示 收藏 如果实现了PHP和MySQL链接了,PHP和MSSQL的链接其实很简单: 支持MSSQL的本地链接和远程 ...

  3. windows下用golang连接mssql

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] 安装Microsoft SQL Server Native Client 安装golang的mssql驱动 写测试代码   ...

  4. Linux下用freetds连接mssql中文乱码的问题【参考2】

    php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql, ...

  5. FIREDAC连接MSSQL 2000报不能支持连接MSSQL2000及更低版本的解决办法

    FIREDAC连接MSSQL 2000的时候会报错,原因是MSSQL CLIENT11或MSSQL CLIENT10客户端驱动程序已经不支持连接MSSQL2000及更低版本的数据库. 解决办法: 设置 ...

  6. ubuntu 连接 mssql <转>

    转自  http://www.sendong.net/thread-90941-1-1.html 在linux下连接MSSQL,因为微软同志没有提供任何接口给开发人员,大约他们认为要用MSSQL的,只 ...

  7. python-整理--连接MSSQL

    环境 : python3.4 / win10 / vs2013 / sqlexpress2014 需要的工具和包 1.freetds包 下载地址 https://github.com/ramiro/f ...

  8. 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题

    原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...

  9. PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

    课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较 ...

随机推荐

  1. 设M=5^2003+7^2004+9^2005+11^2006,求证8|M。(整除理论,1.1.8)

    设M=52003+72004+92005+112006,求证8|M. 证明: 前提:对于,52003让我们去构造8,即用8-3替换5 第一步:用8-3替换5,且仅替换一个, 第二步:进行分项,则前一项 ...

  2. Chrome 自动填充的表单是淡黄色的背景怎么办!

    chrome浏览器自动填充表单的黄色背景高亮(#FAFFBD)一直困扰着我,我之前没想着理它,可是最近一个登陆框,需要用到图标,于是我草率的直接设置在input元素里面,结果问题就来了,很难看很难看, ...

  3. jqgird 实践

    $.jgrid.defaults.styleUI="Bootstrap"; $("#table_list_2").jqGrid({ multiselect: t ...

  4. Linux RCU机制详解

    关于rcu的几点声明: 1:RCU使用在读者多而写者少的情况.RCU和读写锁相似.但RCU的读者占锁没有任何的系统开销.写者与写写者之间必须要保持同步,且写者必须要等它之前的读者全部都退出之后才能释放 ...

  5. VBS 文件选择框,选择Excel文件

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 on error resume Next Set objDialog=CreateObject("UserAcc ...

  6. 如何迅速成为Java高手[转]

    很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”.但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛! 要想学好Java,首先要知道Java的大致分类. ...

  7. hdu_1728_逃离迷宫(bfs)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 题意:走迷宫,找最小的拐角 题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐 ...

  8. 自动加载U盘

    编辑/etc/fstab 比如想在开机的时候将/dev/sda1安装在/mnt 可以在/etc/fstab中加入一行 /dev/sda1   /mnt    ext3    defaults    0 ...

  9. As3.0 Interface 与类的使用

    来源:http://blog.sina.com.cn/s/blog_4d65c19e0100bfkb.html 抽象类:又叫抽象基类:可以包含一般类所包含的所有特性,例如,字段,属性,方法,抽象类不能 ...

  10. sysbench使用教程【转载】

    水晶命匣 2016-08-16 20:02 一.环境描述 此次使用的虚拟机环境如下所示: CPU:双核 2.4GHz 内存:4 GB 硬盘:120 GB IP:192.168.21.129 操作系统: ...