• php5.4.3如何连接sqlServer 2008 r2


    php5.4.3如何连接sqlServer 2008 r2

    1、下载 ntwdblib.dll,(http://yunpan.cn/QiRkGyLH2YYJy (提取码:edfc)),拷贝到 php安装路径的根目录下 和 Apache服务器安装路径的bin文件夹下;

    2、下载sqlsrv相关文件,(http://yunpan.cn/QiRvdnxjVDffh (提取码:2f04)),解压后,双击exe文件,得到一批文件:

    如果是php5.3和之前版本的,如果你安装的php是非线程安全的,复制php_pdo_sqlsrv_53_nts_dll和php_sqlsrv_53_nts_dll 到php安装目录下的ext目录下,线程安全则复制php_pdo_sqlsrv_53_ts_dll和php_sqlsrv_53_ts_dll文件。如果php5.4之后版本的复制后缀为54的两个文件。

    3、然后在配置文件php.ini Extensions后面加上:

    extension=php_sqlsrv_53_ts.dll

    extension=php_pdo_sqlsrv_53_ts.dll

    extension=php_mssql.dll

    extension=php_pdo_mysql.dll

    在“php扩展”中勾选上php_mssql.dll和php_pdo_mysql.dll

    4、接下来要设置sqlserver允许远程连接,

    打开SQL Server Management Studio ,

    登陆后 ,在左侧 对象资源管理器里面,选择sqlserver实例对象(第一个),右键属性

    1.安全性选项卡 里面勾选sqlserver和windows身份验证

     

    2.连接选项卡 勾选允许远程连接

     

    然后打开SQL Server 配置管理器

     

    1.–>SQL Server网络配置里面,SQLEXPRESS协议(可能是其他名),右侧NamedPipes和TCP/IP都开启,编辑TCP/IP,选项卡里面–>ip地址->IPALL –>tcp动态端口 写入1433

     

    2.SQL Native Client配置–>客户端协议同样启用上面的两个协议即可。

     

    然后在SQL Server Management Studio重启sqlserver即可,注意如果不是本地连接需要开启防火墙sqlserver链接 一般端口是1433

     

    5、检验是否成功

    重启Apache和sql Server2008 r2

     

    运行<?php phpinfo();?>

    出现sqlsrv则说明配置成功

     

    6,访问数据库

    1.Windows Authentication连接

    <?php

    $serverName = "(localhost)";

    $connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);

    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    if( $conn == false)

    {

        echo "连接失败!";

       die( print_r( sqlsrv_errors(), true));

    }

    ?>

     

    2.SQL Server Authentication连接
     

    <?php

    $serverName = "localhost"; //数据库服务器地址

    $uid = "sa"; //数据库用户名

    $pwd = "123"; //数据库密码

    $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"cart");

    $conn = sqlsrv_connect( $serverName, $connectionInfo);

    if( $conn == false)

    {

         echo "连接失败!";

        die( print_r( sqlsrv_errors(), true));

    }

    //执行有结果集的SQL语句

    $query = sqlsrv_query($conn, "select * from tb_goods");

    while($row = sqlsrv_fetch_array($query))

    {

        echo $row[0]."-----".$row[1]."<br/>";

    }

    //执行增删改的SQL语句

     $rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'");

     $num=sqlsrv_rows_affected($rs);//返回修改的行数

     if($num>0)  {   echo '修改成功!'.$num ;

    }  else  {   echo '修改失败!';  }

    ?>

     

    用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv函数都以 sqlsrv_打头,

    SQL Server Driver for PHP 包含以下函数:

    函数                        说明

    sqlsrv_begin_transaction       开始事务。

    sqlsrv_cancel         取消语句;并放弃相应语句的所有未决结果。

    sqlsrv_client_info     提供有关客户端的信息。

    sqlsrv_close     关闭连接。释放与相应连接关联的所有资源。

    sqlsrv_commit     提交事务。

    sqlsrv_configure     更改错误处理和日志记录配置。

    sqlsrv_connect     创建一个连接,并将其打开。

    sqlsrv_errors     返回关于上一操作的错误和/或警告信息。

    sqlsrv_execute     执行预定义语句。

    sqlsrv_fetch     使下一行的数据可供读取。

    sqlsrv_fetch_array     以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。

    sqlsrv_fetch_object     以对象形式检索下一行的数据。

    sqlsrv_field_metadata     返回字段元数据。

    sqlsrv_free_stmt     关闭语句。释放与相应语句关联的所有资源。

    sqlsrv_get_config     返回指定配置设置的值。

    sqlsrv_get_field     按索引检索当前行中的字段。可以指定 PHP 返回类型。

    sqlsrv_has_rows     检测结果集是否具有一行或多行。

    sqlsrv_next_result     使下一结果可供处理。

    sqlsrv_num_rows     报告结果集中的行数。

    sqlsrv_num_fields     检索活动结果集中的字段数。

    sqlsrv_prepare     准备 Transact-SQL 查询,但不执行该查询。隐式绑定参数。

    sqlsrv_query     准备 Transact-SQL 查询,并将其执行。

    sqlsrv_rollback     回滚事务。

    sqlsrv_rows_affected     返回有所修改的行的数目。

    sqlsrv_send_stream_data     在每次调用函数时向服务器发送最多八千字节 (8 KB) 的数据。

    sqlsrv_server_info     提供有关服务器的信息。

  • 相关阅读:
    c语言,浮点数转byte array
    go的select 只会执行一个case,就会退出select 块
    【转】pphp中goto的用法
    [转]php 中yield是个什么东西
    z-index 0 和auto的区别,这个例子好好琢磨一下
    SpringMVC框架下实现原生分页功能
    Jackson 高级应用
    Jackson 的 基本用法
    Jackson转换为Collection、Array
    spring处理数据库中Date类型字段转换成时间戳问题
  • 原文地址:https://www.cnblogs.com/hewenwu/p/3728795.html
Copyright © 2020-2023  润新知