引言
在开发过程中,选择合适的数据库是非常重要的一环。MSSQL是一款常用的商业数据库,它的特点是稳定性高,运维成本低,同时也是很多公司在企业级应用开发中的首选。今天我们来聊一聊在PHP应用中如何访问MSSQL数据库。
准备工作
1. 安装ODBC驱动程序
ODBC(Open Database Connectivity)即开放数据库互连,它是一种通用的数据库访问方法,支持多种数据库。在使用PHP访问MSSQL之前,需要先下载安装ODBC驱动程序。下面以Windows操作系统为例。
步骤:
1. 下载ODBC驱动:https://www.microsoft.com/zh-CN/download/details.aspx?id=53339
2. 安装驱动,双击下载的.msi文件,一步一步按照提示进行。
3. 安装完毕后,可以在“控制面板”-“管理工具”-“ODBC数据源(64位)”中查看安装的驱动。
2. 配置PHP环境
PHP提供了两种访问MSSQL数据库的扩展:pdo_sqlsrv和sqlsrv。两者的区别在于pdo_sqlsrv是使用PDO接口访问MSSQL数据库的扩展,而sqlsrv则是使用原生的SQL Server接口。在使用前需要先将扩展文件添加到PHP环境中。
步骤:
1. 下载对应版本的PHP扩展:https://www.microsoft.com/zh-cn/download/details.aspx?id=20098
2. 将下载的扩展文件复制到php/ext目录下。
3. 修改php.ini文件,添加以下两行:
extension=php_pdo_sqlsrv_XX_ts.dll
extension=php_sqlsrv_XX_ts.dll(XX为对应的PHP版本号)
使用PHP访问MSSQL数据库
1. 建立连接
PHP使用PDO接口访问MSSQL数据库的代码如下:
try{
$dsn = "sqlsrv:Server=$serverName;Database=$dbName";
$dbh = new PDO($dsn, $userName, $password);
}catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}
重点:
$serverName:服务器名称,可以是IP地址或者机器名。
$dbName:数据库名称。
$userName:连接数据库的用户名。
$password:连接数据库的密码。
2. 执行查询
建立好连接后,就可以执行各种SQL语句了。下面是一个简单的查询示例:
try{
$stmt = $dbh->query('SELECT * FROM myTable');
while($row = $stmt->fetch()){
echo $row['id'] . "\n";
echo $row['name'] . "\n";
echo $row['age'] . "\n";
}
}catch(PDOException $e){
echo "Query failed: " . $e->getMessage();
}
重点:
$stmt:PDOStatement对象,用于执行SQL查询。
$row:数组,用于获取查询结果集中的每一行。
$row['columnName']:用于获取指定列的值。
3. 执行更新、插入和删除
执行更新、插入和删除等操作需要使用PDO对象的exec()方法或者prepare()和execute()方法。下面是一个更新示例:
try{
$dbh->exec("UPDATE myTable SET name='Tom' WHERE id=1");
}catch(PDOException $e){
echo "Update failed: " . $e->getMessage();
}
重点:
$dbh->exec($sqlStr):执行SQL语句,返回受影响的行数。
$dbh->prepare($sqlStr):预处理SQL语句。
$stmt->bindParam($paramName, $paramValue):将参数绑定到预处理语句中。
$stmt->execute():执行预处理语句。
总结
通过本文的介绍,我们可以看到使用PHP访问MSSQL数据库非常简单,只需要做好准备工作并使用PDO接口或者原生SQL Server接口就可以轻松地完成各种操作。相信这对于在开发过程中需要使用MSSQL的PHP开发者来说将会非常有帮助。