参考 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 前面的分号去掉。
<?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 所在的数据库服务器的
<?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 扩展。
<?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 中可查看
<?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 方式连接。
下面是实现代码:
<?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 />";
?>