PHP7与MSSQL数据库集成:从扩展到交互式应用

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数据库的功能。

数据库标签