1.下载微软的php连接驱动:SQLSRV30.EXE(5.4对应,后面的native client要用2012)/SQLSRV20.EXE(5.3对应,native client要用2008)/SQLSERV31.EXE对应5.5

2.解压SQLSERV30.EXE,拷贝对应extension到php的ext目录

3.配置php.ini

extension=php_sqlsrv_54_ts.dll(54为5.4版本,ts为线程安全,nts为非线程安全,带pdo的是用pdo方式连接,sqlsrvxx.exe里都有)

mssql.secure_connection = Off改为on 很多教程没写这个

4.重启IIS/Apache

5.在sqlserver服务器配置TCP/IP连接

6.在php服务器下载安装sqlserver native client(2014.11.13补充:win8下装上这玩意http://www.microsoft.com/en-us/download/details.aspx?id=20098)

7.测试代码

$database = "TimeTracker";
$uid = "sa";
$pwd = "123";
$Server = "192.168.0.152";
$conInfo=array('Database'=>$database,'UID'=>$uid,'PWD'=>$pwd);
$link=sqlsrv_connect($Server,$conInfo); if( $link ){
// echo "Connection established.\n";
$query = 'SELECT * FROM T_Sys_UserInfo'; /* Set parameter values. */
$params = array(75123, 5, 741, 1, 818.70, 0.00); /* Prepare and execute the query. */
$stmt = sqlsrv_query( $link, $query, $params);
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
{
echo $row['UseName'].", ".$row['RealName']."\n";
} }
else{
//echo "Connection could not be established. ";
print_r( sqlsrv_errors(), true);
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
die("");
}

PDO方式连接:

<?php
header("Content-Type: text/html;charset=utf-8"); class mssql{
private $host;
private $username;
private $password;
private $database;
private $handle;
private function __construct (Array $config){
$this -> host = $config['host'];
$this -> username = $config['username'];
$this -> password = $config['password'];
$this -> database = $config['database'];
$this -> init();
}
private function init() {
$dsn = 'sqlsrv:server = '.$this -> host.';database = '.$this->database;
$this -> handle = new PDO($dsn,$this -> username, $this -> password);
}
public static function GetInstance(array $config = null) {
if (null == $config) {
return NULL;
}
static $db = null;
if (null == $db) {
$c = __CLASS__;
$db = new $c($config);
};
return $db -> handle;
}
} $config = array(
'host' => '192.168.0.152,1433',
'database' => 'TimeTracker',
'username' => 'sa',
'password' => '123'
);
$mssql = mssql::GetInstance($config);
$result = $mssql->query('SELECT * FROM T_Sys_UserInfo');
foreach($result as $row){
echo $row[2];
}
?>

PHP5.4连接sqlserver的更多相关文章

  1. PHP:PHP5.4连接SQLSERVER

    在PHP5.4的环境下要连接SQLSERVER(2005/2008)数据库,需要以下步骤: 1.下载PHP5.4连接SQLSERVER的驱动(两个动态连接库)http://www.microsoft. ...

  2. 关于PHP5.6连接SqlServer

    在做一个PHP报名系统的时候需要使用mssql来和winform结合起来使用, 但是发现我的php环境没有sqlsrv模块,于是乎,我就开始百度了 找到了微软官方下载地址,对照php版本,下载对应的模 ...

  3. Php5.6.31连接sqlserver 2008R2数据库问题sqlsrv(php5.3及以上版本)与mssql(php5.3以前版本)②

    Php5.6.31连接sqlserver 2008R2数据库 1.环境配置 Win7(win8.1)  64 +Apache2.4 + PHP5.6.31 + SQL Server 2008 R2数据 ...

  4. php5.3 连接 sqlserver2005

    操作系统:XP php5.3以后,已经不对sqlserver支持连接扩展了,不过微软官方还是对php5.3以后进行了扩展解决方案. 1.确认要连接sqlserver的数据库版本为2005 2.确认ph ...

  5. PHP连接sqlserver的两种方法,向sqlserver2000中写入数据,中文乱码

    项目环境是php5.3.28 项目用的ThinkPHP3.2.3  已经mysql5.5数据库,要和另一个项目对接,需要连接sqlsever2000数据库进行一些操作. 第一种用php自带扩展连接数据 ...

  6. php支持连接sqlserver数据库

    php支持连接sqlserver数据库 1.软件配置 Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10. ...

  7. php以pdo方式连接sqlserver,无法开启sqlsrv扩展

    首先,PHP连接sqlserver代码如下: $host="aaaaa"; $dbname="aaaaa"; $user="aaaaa"; ...

  8. 用Window Authentication的方式去连接SQLServer

    用Window Authentication的方式去连接SQLServer Connection String: jdbc:sqlserver://${serverName};databaseName ...

  9. Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端)

    http://blog.csdn.net/zhyl8157121/article/details/8169172 目录(?)[-] 项目说明 开发环境的部署 数据库设计 服务器端程序设计Webserv ...

随机推荐

  1. 【http】生命周期和http管道技术 整理中

    httpModules 与 httpHandlers  正在写demo public class Httpext : IHttpModule { public void Dispose() { thr ...

  2. MVC C# 调用存储过程

    SqlParameter[] param ={ new SqlParameter("@SignInfoId ",SqlDbType.Int), new SqlParameter(& ...

  3. Window.ActiveXObject的用法 以及如何判断浏览器的类型

    (window.ActiveXObject) 什么意思? 解:判断浏览器是否支持ActiveX控件,如果浏览器支持ActiveX控件可以利用 var xml=new ActiveXObject(&qu ...

  4. MonoBehaviour

    所有的Unity脚本都继承自MonoBehaviour这个类,它没有Main函数入口,采用了事件触发的模式,根据不同的事件响应不同的函数. void Start(): void Update():每一 ...

  5. 微软职位内部推荐-Senior Dev Lead

    微软近期Open的职位: Bing Index Serve team is hiring! We are one of the core teams in Bing serving more than ...

  6. object to primitive in javascript

    例1: var a={};  alert(a); //[object Object]; 例2: var a={ toString:function(){ return 1; } } alert(a); ...

  7. 登录超时自动退出,计算时间差-b

    // 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 //  说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分 ...

  8. c++ void,内存操作函数

    void的含义 void的字面意思是“无类型”, void * 则为“无类型指针”, void * 可以指向任何类型的数据 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变 ...

  9. myeclipse一直bulid workspace 的解决

    解决方法转自: http://zhidao.baidu.com/link?url=gCj0XzorUUshtSFG2jXh6-Bxn28_LpcbTYasbgk9Qja_kw8Ex2kLzxFSYHN ...

  10. 【转载】C++ inline 函数

    (一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...