参考了下php官方手册总结了五种PHP连接MSsql server的方法,mssql_系列函数,sqlsrv_系列函数,odbc方式连接sqlserver,PDO方式连接sqlserver,COM方式连接
参考php手册,对php连接sql server系列做出个小结。主要有五种方式:
一、通过mssql_系列函数
mssql_系列函数主要针对php5.3以下的版本和sqlserver2000及以上版本使用。
在php.ini中将;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉。
代码语言:javascript复制<?php
$server ="localhost"; //服务器IP地址,如果是本地,可以写成localhost
$uid ="sa"; //用户名
$pwd ="123456"; //密码
$database ="jb51net"; //数据库名称
////进行数据库连接
$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
mssql_select_db($database,$conn);
////执行查询语句
$query ="select * from A_PHP";
$row =mssql_query($query);
////打印输出查询结果
while($list=mssql_fetch_array($row))
{
print_r($list);
echo "<br>";
}
?>
二、通过sqlsrv_系列函数
sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。
需要下载安装Microsoft Drivers for PHP for SQL Server驱动,地址:https://msdn.microsoft.com/library/dn865013.aspx。下载后解压放到php对应的ext目录下。然后打开php.ini文件,在extension 后面添加一下配置
extension=php_pdo_sqlsrv_53_ts.dll extension=php_sqlsrv_53_ts.dll
重启apache,查看phpinfo(),确保apache已经支持sqlsrv。如下图所示:
并且安装sqlncli.msi,这个文件是协助windows环境访问sql server所在的数据库服务器的
代码语言:javascript复制<?php
$serverName = "localhost";
$connectionInfo = array( "Database"=>"jb51net", "UID"=>"sa", "PWD"=>"123456");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT * FROM dbo.A_PHP";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while($row = sqlsrv_fetch_array($stmt))
{echo $row[0]."-----".$row[1]."<br/>";}
?>
三、通过odbc方式连接sqlserver系列。
需要在php.ini中开启php_pdo_odbc.dll扩展。
代码语言:javascript复制<?php
$con = odbc_connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=jb51net,'sa','123456');
$query = "SELECT * FROM dbo.A_PHP";
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$list = odbc_result($result, "id"); print_r($list);echo '<br/>';
}
?>
四、通过PDO方式连接sqlserver。
在php.ini中开启php_pdo_mssql.dll扩展。在phpinfo中可查看
代码语言:javascript复制<?php
$conn = new PDO("sqlsrv:server=localhost;database=jb51net","sa","123456");
$sql = "select count(*) count from CKXS2";
$res = $conn->query($sql);
while ($row = $res->fetch()){
print_r($row);
}
?>
五、通过COM方式连接。
代码语言:javascript复制<?php
$conn = new Com("ADODB.Connection"); //实例化一个Connection对象
$connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jb51net;";
$conn->Open($connstr);
$rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象
$rs->Open('select * from CKXS2 ', $conn, 1, 1);
$count = $rs->RecordCount;
echo "共有{$count}条纪录<br />";
?>