php 连接 mssql sql2008

摘要

sql server 2008

1.下载微软提供的dll

下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098

php5.4需下载 SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。

2、将对应自己php版本的dll文件copy到php ext目录下

ts是指线程安全(ThreadSafe),nts是指线程不安全,得根据安装的php版本来选择,如果不确定,就分别尝试一下;

我用的php5.4,就将php_sqlsrv_54_ts.dll复制到ext目录下,

例如:D:\Program Files\PHP 5.4\ext

3、修改php.ini文件

增加二行:extension=php_pdo_sqlsrv_54_ts.dll

                      extension=php_sqlsrv_54_ts.dll

修改一行 :   mssql.secure_connection = Off  改为on

4、重启apache

5、配置MS SQL Server2005

a、打开 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议;

b、启用“Named Pipes”和“TCP/IP”,默认是已禁用的;

c、右键点击“TCP/IP”,选择“属性”,选择“IP地址”,在”ALLIP“下的“TCP动态端口”后填写1433;

d、重启SQL Server。

备注:记得开启sa登录。

6、安装Microsoft SQL Server 2012 Native Client.msi

根据自己系统在PHP服务器所在机器安装Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。

下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=29065

此工具不支持XP系统哦,所以XP去用PHP5.3吧~

另外这个是安装在php环境的的服务器下面 PS:不是独立数据库服务器的请自动忽略。

7、php数据库代码

<?php
/*连接数据库,5.4的函数不再是mssql_connect了:*/
$conInfo=array("Database"=>"att2008", "UID"=>"att2008", "PWD"=>"att2008");
$conn=sqlsrv_connect("127.0.0.1", $conInfo);

/*判断连接成功与否:*/
if( $conn == false )
{
die( print_r( sqlsrv_errors(), true));
}
else
{
echo("yes<br>");
}

$table_name = "USERINFO";
/*如果你牛叉的数据库表名是中文,记得加上这句:*/
//$table_name = iconv("UTF-8", "GB2312", "牛叉的中文表名");
/*query语句:*/
$rs=sqlsrv_query($conn, "select * from ".$table_name);

if($rs == false)
{
echo("false<br>");
}
else
{
while($row = sqlsrv_fetch_array($rs))
{
print_r($row);
}
sqlsrv_free_stmt($rs);
sqlsrv_close($conn);
}
?>

8,至此,网上教程复制完毕,但是该方法不支持XP系统!(我使用的是phpstudy,非常便捷的一体式多合一服务)

但是该方法中开启了mssql.php,于是使用以下代码可以在XP中连接sql2008

<?php
$server ="LPP-20140312390\s2008";  //服务器IP地址,如果是本地,可以写成localhost,本例是多个实例
$uid ="sa";  //用户名
$pwd ="sql2008"; //密码
$database ="test";  //数据库名称

//进行数据库连接
$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
mssql_select_db($database,$conn);

//执行查询语句
$query ="select * from demo";
$row =mssql_query($query);

//打印输出查询结果
while($list=mssql_fetch_array($row))
{
       print_r($list);
       echo "<br>";
}
//PDO连接不成功,没有微软的库,2012库不在支持XP
//    $conn = new PDO( "sqlsrv:Server=(LPP-20140312390\s2008);Database=test", "sa", "sql2008");
//    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

// $query = ‘select * from demo‘;
// $stmt = $conn->query( $query );
// while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
//    print_r( $row );
// }

9,xp系统中连接SqlServer2008

9.1同样下载http://www.microsoft.com/en-us/download/details.aspx?id=20098

找到sqlsrv20,这里面是支持xp的DLL,支持范围包括5.3,5.2,不支持5.4,其中nt是线程安全,v6v9意思是apache是哪种语言编写的,是c++9还是c++6,这个安装的时候提示错误 就更改一个

下载Microsoft SQL Server 2008 Native Client.msi,这个是必须的

9.2重启服务器

测试代码

<?php
//PDO连接方式
 // $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", "sa", "sql2008");
try {
   $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", NULL, NULL);
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}

catch( PDOException $e ) {
   die( "Error connecting to SQL Server" );
}

echo "Connected to SQL Server\n";

$query = ‘Select * From sysobjects ‘;
$stmt = $conn->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
   p( $row );
}

// /* Specify the server and connection string attributes. */
// $serverName = "LPP-20140312390\s2008";
// $connectionInfo = array( "Database"=>"CDTXYYBJP");

// /* Connect using Windows Authentication. */
// $conn = sqlsrv_connect( $serverName, $connectionInfo);
// if( $conn === false )
// {
//      echo "Unable to connect.</br>";
//      die( print_r( sqlsrv_errors(), true));
// }

//  Query SQL Server for the login of the user accessing the
// database.
// $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
// $stmt = sqlsrv_query( $conn, $tsql);
// if( $stmt === false )
// {
//      echo "Error in executing query.</br>";
//      die( print_r( sqlsrv_errors(), true));
// }

// /* Retrieve and display the results of the query. */
// $row = sqlsrv_fetch_array($stmt);
// echo "User login: ".$row[0]."</br>";

// /* Free statement and connection resources. */
// sqlsrv_free_stmt( $stmt);
// sqlsrv_close( $conn);
时间: 2024-10-12 20:08:16

php 连接 mssql sql2008的相关文章

linux编译安装mssql客户端和配置php连接mssql

凡是连接数据库,必须安装客户端,我一般写博客都不写原理,但是后来发现回头看自己写的自己都看不懂,所以这章博客会多一点原理性的东西. 数据库的连接一般都是在客户端上完成的,MySQL也不例外,安装mysql时一般都会这么安装: #yum install mysql mysql-server 上面的mysql就是安装的客户端,mysql-server就是服务端,不安装客户端(mysql)就没办法执行mysql连接命令:mysql -u user -p pass -h -P port 而sqlserv

windows下用golang连接mssql

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 安装Microsoft SQL Server Native Client 安装golang的mssql驱动 写测试代码 我擦,最近下了几十个G的数据(哈哈,你们懂的),都是mssql格式的,需要处理下.想用golang处理,于是就需要golang连接mssql. 1.安装Microsoft SQL Server Native Client 去官方下载吧,下载地址: [plain] view plain copy print?

PHP连接MSSQL数据库的方法,PHPWAMP如何连接MSSQL数据库(极度详细)

最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 其实你平时只要多逛逛微软的网站,多看看数据库相关的英文文档,该有的都有, 好了,我们下面演示几个案例吧,分别演示几个主流PHP版本连接MSSQL数据库的方法. 本文演示的是我自己制作的PHP纯绿色集成环境,要是你用的是其他集成环境,或者是自己独立安装的,其实道理是一样的,没

PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较喜欢这种叫法,有韵味... 最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何连接MSSQL数据库. 平时我们搭建网站通常是PHP+Mysql数据库, 不过在项目中,我们有时候必须要用到PHP+MSSQL数据库,那应该怎么办呢? 本文案例采用的PHP集成环境是我最新发布的版本

php 连接 mssql 常见的所有问题

php连接mssql时 ntwdblib.dllPHP连接MSSQL配置和PHP代码演示 收藏 如果实现了PHP和MySQL链接了,PHP和MSSQL的链接其实很简单: 支持MSSQL的本地链接和远程链接,以本地链接为例: 机器上安装了MS SQLServer 2005: 连接前配置系统: 1.检查文件 php5.2.5\ntwdblib.dll 默认下面有一个,不能连接再替换. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: 2.配置php a.打开php.i

python 连接MSSQL

# -*- coding: utf-8 -*- import pymssql conn=pymssql.connect(host=".",user="sa",password="",database="UFDATA_001_2013",charset="utf8") #conn=pymssql.connect(host="kzxserver",database="UFDATA_

LINUX下使用PHP连接MSSQL的方法

目录[-] 如何安装MSSQL.SO 如何安装PDO_LIB.SO 如何安装PDO_ODBC.SO 作者:Roban lee ([email protected]) LINUX下使用PHP连接MSSQL的方法有很多种,根据不同的环境,可以选择不同的方式,大致方法有以下几种: 使用MSSQL.SO扩展 使用PDO_LIB扩展 使用PDO_ODBC扩展 如何安装MSSQL.SO 1. MSSQL.SO 扩展依赖一个外部包,即 freeTDS, FreeTDS 官网: http://www.freet

使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题

原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会.net呀,没办法,只能使用PHP连接SQL Server,然后来发布商品数据.因为客户采集的英文网站,但是要求发布时翻译成德语,发布完了,结果发现标题内容这些地方有乱码,在网上找了大半天,也试了很多种方法,结果使用SQLSRV解决了问题! 官方网址:http://msdn.microsoft.com

Linux下用freetds连接mssql中文乱码的问题【参考2】

php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql,pdo_dblib参数如下: ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib./configure --with-php-config=/usr/local/php/bin/php-config -