使用PHP驱动程序实现与SQL Server数据库的连接

介绍

PHP是一种非常流行的Web编程语言,而SQL Server则是一种非常流行的关系型数据库管理系统(RDBMS)。在许多Web应用程序中,PHP通常用于处理与数据库的交互,因此了解如何使用PHP驱动程序连接到SQL Server非常重要。

安装PHP SQL Server扩展

要使用PHP与SQL Server进行交互,您需要安装PHP SQL Server扩展。此扩展可在Windows和Linux上使用,并且从PHP 5.2.0开始已经集成在Windows中的PHP中。如果您的PHP版本不包含SQL Server扩展,则可以通过以下步骤安装:

Windows下的安装方法

对于Windows用户,前往 Microsoft SQL Server Github页面下载可用于您的PHP版本的驱动程序(选择 "Download the PHP Driver for SQL Server for your PHP version")。

安装步骤如下:

将驱动程序中的php_sqlsrv.dll和php_pdo_sqlsrv.dll文件复制到您的PHP安装的ext目录中。

打开php.ini文件,并添加以下行:

extension=php_sqlsrv.dll

extension=php_pdo_sqlsrv.dll

Linux下的安装方法

对于Linux用户,您需要按照以下步骤启用SQL Server扩展。

首先,运行以下命令以安装Microsoft的包管理密钥:

 

sudo su

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

接下来,将Microsoft SQL Server存储库添加到Ubuntu存储库列表中:

curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit

然后,运行以下命令以安装SQL Server扩展:

sudo apt-get update

sudo ACCEPT_EULA=Y apt-get install msodbcsql17 mssql-tools

sudo apt-get install unixodbc-dev

sudo pecl install sqlsrv

sudo pecl install pdo_sqlsrv

最后,编辑您的php.ini文件并添加以下两个行:

extension=sqlsrv.so

extension=pdo_sqlsrv.so

连接到SQL Server数据库

连接到SQL Server数据库是使用PHP SQL Server扩展的第一步。使用以下代码连接到数据库:

$serverName = "localhost";

$connectionOptions = array(

"Database" => "your_database",

"Uid" => "your_username",

"PWD" => "your_password"

);

//Establishes the connection

$conn = sqlsrv_connect($serverName, $connectionOptions);

if(!$conn) {

die("Connection failed: ".sqlsrv_errors());

}

请将$ serverName替换为您的SQL Server实例的名称。在$ connectionOptions数组中,您需要提供以下信息:

Database - 数据库名称

Uid - 数据库用户名

PWD - 数据库用户的密码

如果连接失败,则会在浏览器中显示错误消息。

执行SQL查询

一旦连接到数据库,您可以使用PHP SQL Server扩展执行SQL查询。例如,使用以下代码选择表中的所有行:

$tsql = "SELECT * FROM your_table";

$getResults = sqlsrv_query($conn, $tsql);

if ($getResults == FALSE)

die(FormatErrors(sqlsrv_errors()));

while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {

echo ($row['column1'] . " " . $row['column2'] . PHP_EOL);

}

sqlsrv_free_stmt($getResults);

在这里,$ tsql字符串包含所需的SQL查询。 sqlsrv_query()函数执行查询,并返回结果对象。 $ getResults对象包含查询的结果。使用sqlsrv_fetch_array()函数输出结果对象的行数据,并使用sqlsrv_free_stmt()函数释放结果对象。

关闭连接

完成与SQL Server数据库的交互之后,您需要关闭与数据库的连接。使用以下代码关闭连接:

sqlsrv_close($conn);

总结

本文介绍了如何使用PHP SQL Server扩展连接到SQL Server数据库,并执行SQL查询。我希望这个教程可以帮助您使用PHP与SQL Server进行交互。

数据库标签