介绍
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进行交互。