注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天边云E家 shaoruisky

IT博文共享,知识的海洋

 
 
 

日志

 
 

php连接SQLServer2008  

2014-03-13 19:17:39|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

PHP自带的MSSQL扩展php_mssql.dll是给SQL Server 2000用的,连接不上2008?! -_-!!要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行,版本是2.0的

下载驱动程序,下载后安装释放程序,里面有以下文件:

php_pdo_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_ts.dll

php_pdo_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc9.dll

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(自述文件)

?

关于VC6和VC9的区别

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。

?

开始配置

选择php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini
 的Extensions后面加上:

extension=php_sqlsrv_53_ts.dll

extension=php_pdo_sqlsrv_53_ts.dll

再重启Apache服务。

最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!

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

?

搞定手工、咳咳


 

  评论这张
 
阅读(190)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016