1. 引言
PHP和Microsoft SQL Server(MSSQL)集成是web开发的重要方面。通过该集成,PHP应用程序可以轻松地连接、查询和操作MSSQL数据库。自PHP7发布以来,许多细节得到了改进,从而使PHP7成为MSSQL数据库的最佳选择。
2. 安装扩展
要与MSSQL集成,我们首先要安装PHP的扩展。下面是如何在Windows和Linux中安装MSSQL扩展:
2.1 在Windows上安装MSSQL扩展
我们需要下载SQL Server Native Client并安装它,然后下载PHP驱动程序并将其安装到PHP DLL目录中。
// PHP7.2驱动安装
php -r "copy('https://github.com/Microsoft/msphpsql/releases/download/v5.3.1/Windows-7.2.zip', 'sqlsrv.zip');"
php -r "copy('https://github.com/Microsoft/msphpsql/releases/download/v5.3.1/Windows-7.2-nts.zip', 'pdo_sqlsrv.zip');"
unzip sqlsrv.zip -d php/ext/
unzip pdo_sqlsrv.zip -d php/ext/
现在,您需要在php.ini文件中添加MSSQL扩展
extension=php_pdo_sqlsrv_72_ts.dll
extension=php_sqlsrv_72_ts.dll
2.2 在Linux上安装MSSQL扩展
安装MSSQL扩展需要在Linux中启用Microsoft存储库和更新通道。例如,在Ubuntu上:
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
ACCEPT_EULA=Y apt-get install unixodbc-dev
pecl install sqlsrv pdo_sqlsrv
安装完成后,您需要在php.ini文件中添加MSSQL扩展:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
3. 连接MSSQL数据库
接下来,我们需要在PHP中编写代码来连接MSSQL数据库。下面的代码演示如何创建一个数据库连接:
// 准备配置信息
$serverName = "localhost";
$connectionOptions = array("Database"=>"TestDB",
"Uid"=>"TestUser",
"PWD"=>"TestPassword");
// 创建连接
$conn = sqlsrv_connect($serverName, $connectionOptions);
4. 查询MSSQL数据库
一旦我们成功连接到MSSQL数据库,我们可以使用sqlsrv_query()函数执行查询。下面是一个简单的示例:
// 准备查询
$query = "SELECT FirstName, LastName FROM Users WHERE ID > 10";
// 执行查询
$result = sqlsrv_query($conn, $query);
// 处理结果
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
echo "First Name: ".$row['FirstName']."
";
echo "Last Name: ".$row['LastName']."
";
}
5. 插入和更新数据
在PHP中插入和更新MSSQL数据库的数据与查询类似。下面是一个插入数据的示例:
// 准备插入语句
$insert = "INSERT INTO Employees (FirstName, LastName, Email) VALUES ('John', 'Doe', 'john.doe@example.com')";
// 执行插入
if (sqlsrv_query($conn, $insert)) {
echo "Record added successfully.
";
} else {
echo "Record insertion failed.
";
}
下面是一个更新数据的示例:
// 准备更新语句
$update = "UPDATE Employees SET FirstName='Johnnie', LastName='Doe' WHERE ID=1";
// 执行更新
if (sqlsrv_query($conn, $update)) {
echo "Record updated successfully.
";
} else {
echo "Record update failed.
";
}
6. 关闭连接
当我们完成对MSSQL数据库的所有操作后,要关闭与数据库的连接以释放资源:
// 关闭连接
sqlsrv_close($conn);
7. 结论
借助PHP7和MSSQL数据库的集成,web开发人员可以轻松地连接、查询和操作MSSQL数据库。使用上面的代码示例,您可以开始使用MSSQL数据库的功能。