Heim  >  Artikel  >  Datenbank  >  php支持连接sqlserver数据库

php支持连接sqlserver数据库

WBOY
WBOYOriginal
2016-06-07 16:11:171160Durchsuche

1、软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10。 Php环境也可以换成php+apache。 2、支持连接MySQL Server配置 php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。 2.1、php连接mss

1、软件配置

Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10。

Php环境也可以换成php+apache。

2、支持连接MySQL Server配置

php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。

2.1、php连接mssql设置(php5.3以前版本)

(1)、打开php.ini,将
;extension=php_mssql.dll前面的分号(;)去掉,然后重启 Apache。如果不行的话,进行第2步。

(2)检查一下你的php安装目录下的ext下面有没有php_mssql.dll存在,如果没有,从www.php.net重新下载一个php安装,要下载那个压缩包的才是最完整的。
如果ext目录下已经有了php_mssql.dll,那么你需要打开php.ini,找到
extension_dir = "./ext"
这一句(或者类似的,不一定是"./ext",查找"extension_dir"即可),然后把"./ext"修改为你的php安装目录的ext目录的完整路径,比如"c:/php/ext",或者"c:/program files/php/ext"这样。然后再次重启 Apache。如果还是不行的话,可能就需要第3步了。

(3)把 php 目录下的 ntwdblib.dll 和 php_mssql.dll 复制到 system32的系统目录中去,然后重起Apache。

(4)然后就可以连接MSSQL,并进行一些操作了。连接例子如下:

 

$conn=mssql_connect("实例名或者服务器IP","用户名","密码");
//测试连接
if($conn)
{
  echo "连接成功";
}
mssql_select_db("数据库名称");
if($row=mssql_fetch_array($rs))
{
  print_r($row);
}

2.2、php连接sqlsrv(php5.3以及以上版本)

(1)、下载Microsoft Drivers for PHP for SQL Server,官方下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。

(2)、解压下载下来的文件将php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件复制到php安装目录下的ext文件夹中。此处根据版本不同使用的文件不同。

(3)、在php.ini中添加

extension=php_sqlsrv_53_ts_vc9.dll

extension=php_pdo_sqlsrv_53_ts_vc9.dll

到很多;extension=***.dll语句后面,注意extension_dir 指向的位置是否正确。

(4)、重启apache,然后访问http://apache访问地址/?Phpinfo=1,出现下面图片中的内容,则代表配置正确。

\

\

(5)、写测试代码,测试代码如下:

<?php
header("Content-type: text/html; charset=utf-8"); 
$serverName = "localhost"; //数据库服务器地址
$uid = "foodcert"; //数据库用户名
$pwd = "foodcert"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"FoodCert");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}else{
echo "连接成功!";	
}
$query = sqlsrv_query($conn, "select * from 数据库表");
while($row = sqlsrv_fetch_array($query))
{
  print_r($row);
}
?>

 

(6)、上面完成之后,测试代码的时候会出现连接失败,因为没有安装sql server nation client ,本地客户端,去下载合适的客户端,我使用的是Microsoft? SQL Server? 2012 Native Client,下载地址:

http://www.microsoft.com/zh-cn/download/details.aspx?id=29065,

(7)、安装完成之后,在重新启动apache,然后访问就可以连接成功了。

(8)、注意:在php.ini文件所在的文件夹中必须要有ntwdblib.dll文件存在。

(9)、补充:如果想要知道需要驱动的版本和本地客户端的版本,可以查看http://php.net/manual/en/sqlsrv.requirements.php,中的内容,该内容是php官网文档中的内容,上面介绍了详细步骤,要学会去官网看英文文档,很详细。函数说明在文档中也存在。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn