php 连接 mssql sql2008
摘要
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目录下,
我用的php5.4,就将php_pdo_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);
php 连接 mssql sql2008的更多相关文章
- python 连接mssql数据库
1.目标数据sql2008 R2 ComPrject=>TestModel 2.安装python 连接mssql 模块 运行 pip install pymssql-2.2.0.dev0-cp3 ...
- php 连接 mssql 常见的所有问题
php连接mssql时 ntwdblib.dllPHP连接MSSQL配置和PHP代码演示 收藏 如果实现了PHP和MySQL链接了,PHP和MSSQL的链接其实很简单: 支持MSSQL的本地链接和远程 ...
- windows下用golang连接mssql
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 安装Microsoft SQL Server Native Client 安装golang的mssql驱动 写测试代码 ...
- Linux下用freetds连接mssql中文乱码的问题【参考2】
php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql, ...
- FIREDAC连接MSSQL 2000报不能支持连接MSSQL2000及更低版本的解决办法
FIREDAC连接MSSQL 2000的时候会报错,原因是MSSQL CLIENT11或MSSQL CLIENT10客户端驱动程序已经不支持连接MSSQL2000及更低版本的数据库. 解决办法: 设置 ...
- ubuntu 连接 mssql <转>
转自 http://www.sendong.net/thread-90941-1-1.html 在linux下连接MSSQL,因为微软同志没有提供任何接口给开发人员,大约他们认为要用MSSQL的,只 ...
- python-整理--连接MSSQL
环境 : python3.4 / win10 / vs2013 / sqlexpress2014 需要的工具和包 1.freetds包 下载地址 https://github.com/ramiro/f ...
- 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题
原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...
- PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较 ...
随机推荐
- 浅析js模板引擎
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
- Oracle 获取当天数据
where trunc(to_date(DATETIME,'yyyy-MM-dd hh24:mi:ss'))=trunc(sysdate)
- lepus监控OS配置
Lepus通过snmp协议进行对操作系统数据采集,因此需要在监控机和被监控机开启snmp服务 snmp协议:简单网络管理协议(SNMP,Simple Network Management Protoc ...
- (译)UEFI 启动:实际工作原理
本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: https://www.happyassassin.net/2014/01/25/uefi-b ...
- 11--Python 备份文件程序
最近看了下<A Byte of Python>, 看见一个非常有意思的程序,用python进行文件行备份的练习程序, 自己在机器上敲代码运行了一遍,结果出现了一个小问题,路径出错--&qu ...
- 浅谈h5移动端页面的适配问题
一.前言 昨天唠叨了哈没用的,今天说点有用的把.先说一下响应式布局吧,我一直认为响应式布局的分项目,一下布局简单得项目做响应式还是可以可以得.例如博客.后台管理系统等.但是有些会认为响应式很牛逼,尤其 ...
- python unitest基本
基本 import unittest class OneTest(unittest.TestCase): def setUp(self): self.verificationErrors = [] s ...
- hdu_2899_Strange fuction(三分查找)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2899 题意:让你解方程 题解:对于只有一个凸或者没有凸的图像,可以直接上三分解决. #include& ...
- C++ 中 const和define的区别
来源网址:http://wujiangping.blog.163.com/blog/static/195182011201255115125205/ 请区别用#define命令定义的符号常量和用con ...
- parseSdkContent failed 解决方案
开Eclipse出现错误“parseSdkContent failed”,Android的模拟器启动不了.尝试了不少方法,终于搞定. 1.删除文件夹 C:\Documents and Settings ...