php 连接 mssql sql2008

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

摘要

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到phpext目录下

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

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

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

例如:D:ProgramFilesPHP5.4ext

3、修改php.ini文件

增加二行:extension=php_pdo_sqlsrv_54_ts.dll

extension=php_sqlsrv_54_ts.dll

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

4、重启apache

5、配置MSSQLServer2005

a、打开SQLServer配置管理器:SQLServerConfigurationManager,打开协议;

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

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

d、重启SQLServer。

备注:记得开启sa登录。

6、安装MicrosoftSQLServer2012NativeClient.msi

根据自己系统在PHP服务器所在机器安装MicrosoftSQLServer2012NativeClient.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-20140312390s2008";  //服务器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-20140312390s2008);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,这个安装的时候提示错误 就更改一个

下载MicrosoftSQLServer2008 NativeClient.msi,这个是必须的

9.2重启服务器

测试代码

<?php
//PDO连接方式
 // $conn = new PDO( "sqlsrv:Server=LPP-20140312390S2008;Database=CDTXYYBJP", "sa", "sql2008"); 
try{
   $conn = new PDO( "sqlsrv:Server=LPP-20140312390S2008;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
";
$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-20140312390s2008";
// $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);

免责声明:文章转载自《php 连接 mssql sql2008》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CSS技巧:文本换行及溢出隐藏msys git 安装配置、git命令行使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP之Smarty模板引擎

前面的话对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名、功能最强大的一种PHP模板引擎。Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进、文字环绕以及正则表达式都可以直接使用,如果觉得不够,SMARTY还有很强的扩展能力,可以通过插件的形式进行扩充。另外,Smarty也是一种自由软件,用户可以自由...

推荐一个集成环境 XAMPP

摘自:http://blog.sina.com.cn/s/blog_72c4b92501012ll7.html 一个新手接触 Joomla! 的过程应该是这样的:看到这个词之后首先要弄明白“什么是Joomla!”,然后就想“试用一下看看”。可是,Joomla! 是 web 程序,它需要有服务器环境才能运行。如果你还不了解 Joomla! 是否合你意,就贸然...

如何在PHP5中通过PDO连接SQLite3数据库

  通过PHP跟PDO配置SQLite数据库是一件很繁琐的事情,经过一下午的研究,终于理清了里面的思路。现在拿出来跟大家共享。初学,错误请指出。 首先我们先选择要使用的web server 软件,由于从兼容性跟性能方面的需求,我选择了目前来说最新版的apache。 第二步,我们要使用目前最新版本的PHP zip package .这里提示大家一下,经过我痛...

Laravel 5.5 将会要求 PHP 7.0+

Laravel 5.5 都要用 PHP7 了呢!你还在用 PHP 5 吗? Laravel 一直是一个精 (sheng) 进 (ji) 不 (hen) 休 (kuai) 的框架。就在前几天,下图这位 Taylor 在 Twitter 上轻描淡写地宣布了 Laravel 5.5 将需要 PHP 7+ 。这又是能玩多一年的节奏! 也就是说还有不到 7 个月...

PHP 出现 502 解决方案

nginx+php 出现502 bad gateway,一般这都不是nginx的问题,而是由于 fastcgi或者php的问题导致的,常见的有以下几种。 1.   php.ini 的memory_limit 过小(如果有个别php程序进程需要占用极大内存时这个必须注意) 2.   php-fpm.conf 中max_children或者max_reques...

php中对象转换数组与数组转换对象实例

用stdClass转换数组为对象                                                                                  Php代码 $arr = array(); $arr['a'] = 1;...