前段时间刚解决这个问题! (这里有笑腊个php5.4的连接方法,可以供参考,php5.6的只需要下载响应的sqlserver扩展)
创新互联公司科技有限公司专业互联网基础服务商,为您提供郑州服务器托管,高防服务器租用,成都IDC机房托管,成都主机托管等互联网服务。
1、下载微软提供的dll
地址:
我下的SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。(此处特别注意一下:官网下载的只支持32位的操作系统,如果你的操作系统是64位的,会报错。笔者之前在这里堵了好长时间!)
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_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的。( )
我用的php版本是php5.6.12,mssql数据库版本为2008
两种途径:
1、直接连接
$servname="captainhero567";
$conninfo=array(
"database"袜散腔="netdata",
"uid"="lxz2005"告衫,
"pwd"="831140");
$conn=sqlsrv_connect($servname,
$conninfo);
$sql="select
*
from
pinfo";
$db=sqlsrv_query($conn,
$sql);
while($row=sqlsrv_fetch_array($db))
{
echo("
".iconv("gb2312","utf-8",$row["pname"])."
");
}
2、使用pdo抽象数据层连接
$hostname
=
"192.168.1.100";
$dbname
=
"northwind";
$username
=
"sa";
$pwd
=
"pwd100";
$dsn="sqlsrv:server=$hostname;database=$dbname";
$conn
=
new
pdo
($dsn,$username,$pwd);
$conn-setattribute(pdo::attr_errmode,pdo::errmode_exception);
echo
"掘谨mssql
database
connnection
sucessed!";
因为你的sql2005使用了windows身份验证,如果选择Windows身份验证,安装程序会创建一个在默认情况下禁用的sa帐户。若要使用混合模式身份验证并在安装完成后激活sa帐户,所备渣罩以,要以windows身份验证形式写链仿闹梁槐接数据库:$con=mssql_connect("XIAOGONGWEI\Administrator",'sa','密码');