zoukankan      html  css  js  c++  java
  • php 连接 mssql sql2008

    摘要

    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 FilesPHP 5.4ext

    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数据库代码

    <?php
    /*连接数据库,5.4的函数不再是mssql_connect了:*/
    $conInfo=array("Database"=>"att2008", "UID"=>"att2008", "PWD"=>"att2008");
    $conn=sqlsrv_connect("127.0.0.1", $conInfo);
     
    /*判断连接成功与否:*/
    if( $conn == false )
    {
    die( print_r( sqlsrv_errors(), true));
    }
    else
    {
    echo("yes<br>");
    }
     
    $table_name = "USERINFO";
    /*如果你牛叉的数据库表名是中文,记得加上这句:*/
    //$table_name = iconv("UTF-8", "GB2312", "牛叉的中文表名");
    /*query语句:*/
    $rs=sqlsrv_query($conn, "select * from ".$table_name);
     
    if($rs == false)
    {
    echo("false<br>");
    }
    else
    {
    while($row = sqlsrv_fetch_array($rs))
    {
    print_r($row);
    }
    sqlsrv_free_stmt($rs);
    sqlsrv_close($conn);
    }
    ?>

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

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

    <?php
    $server ="LPP-20140312390s2008";  //服务器IP地址,如果是本地,可以写成localhost,本例是多个实例
    $uid ="sa";  //用户名
    $pwd ="sql2008"; //密码
    $database ="test";  //数据库名称
     
    //进行数据库连接
    $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
    mssql_select_db($database,$conn);
    
    //执行查询语句
    $query ="select * from demo";
    $row =mssql_query($query);
     
    //打印输出查询结果
    while($list=mssql_fetch_array($row))
    {
           print_r($list);
           echo "<br>";
    }
    //PDO连接不成功,没有微软的库,2012库不在支持XP
    //    $conn = new PDO( "sqlsrv:Server=(LPP-20140312390s2008);Database=test", "sa", "sql2008"); 
    //    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    
    
    
    // $query = 'select * from demo'; 
    // $stmt = $conn->query( $query ); 
    // while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 
    //    print_r( $row ); 
    // }

    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重启服务器

    测试代码

    <?php
    //PDO连接方式
     // $conn = new PDO( "sqlsrv:Server=LPP-20140312390S2008;Database=CDTXYYBJP", "sa", "sql2008"); 
    try {
       $conn = new PDO( "sqlsrv:Server=LPP-20140312390S2008;Database=CDTXYYBJP", NULL, NULL); 
       $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    }
    
    catch( PDOException $e ) {
       die( "Error connecting to SQL Server" ); 
    }
    
    echo "Connected to SQL Server
    ";
    
    $query = 'Select * From sysobjects '; 
    $stmt = $conn->query( $query ); 
    while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 
       p( $row ); 
    }
    
    
    
    // /* Specify the server and connection string attributes. */
    // $serverName = "LPP-20140312390s2008";
    // $connectionInfo = array( "Database"=>"CDTXYYBJP");
    
    // /* Connect using Windows Authentication. */
    // $conn = sqlsrv_connect( $serverName, $connectionInfo);
    // if( $conn === false )
    // {
    //      echo "Unable to connect.</br>";
    //      die( print_r( sqlsrv_errors(), true));
    // }
    
    //  Query SQL Server for the login of the user accessing the
    // database. 
    // $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
    // $stmt = sqlsrv_query( $conn, $tsql);
    // if( $stmt === false )
    // {
    //      echo "Error in executing query.</br>";
    //      die( print_r( sqlsrv_errors(), true));
    // }
    
    // /* Retrieve and display the results of the query. */
    // $row = sqlsrv_fetch_array($stmt);
    // echo "User login: ".$row[0]."</br>";
    
    // /* Free statement and connection resources. */
    // sqlsrv_free_stmt( $stmt);
    // sqlsrv_close( $conn);
  • 相关阅读:
    2016/3/16 高级查询 ①连接查询 ②联合查询 ③子查询 无关 相关
    2016/3/13 七种查询 (普通查询 条件查询 排序查询 模糊查询 统计查询 分组查询 分页查询 )
    2016/3/13 MySQL 增删查改 CRUD 用代码实现
    2016/3/10 数据库简单操作( 创建数据库 创建表 数值类型 主键 外键 自动递增 )
    2016/3/10 PHP环境搭建 LAMP WAMP
    2016/3/10 PHP (超文本预处理器) 是什么?
    2016/3/1 淘宝 腾讯 网易 css初始化代码 以及最基础的初始化
    判断i在字符串中出现的次数(2016.1.12P141-1)
    2016-1-9作业——输出二维数组的和
    2016-1-8作业
  • 原文地址:https://www.cnblogs.com/XACOOL/p/5619216.html
Copyright © 2011-2022 走看看