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,访问数据库
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
?>
<?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 提供有关服务器的信息。