首页 > 代码库 > php5.4.3如何连接sqlServer 2008 r2

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     提供有关服务器的信息。