使用 Wamp 将 SQL 服务器数据库连接到 PHP 网络应用程序

Connecting SQL server DB to A PHP web application using Wamp

我搜索了很多帖子试图找到答案,但一无所获。 我正在尝试使用 WAMP 通过我的 PHP Web 应用程序与 Sql 服务器数据库建立连接。

我尝试过的:

  1. 我下载了 PHP 7 和 7.1 的 sql 驱动程序,并尝试使用相应的 PHP 版本
  2. 我确保在更新 php.ini 文件后重新启动所有服务。
  3. 我已经安装了 SQLSRV40.EXE 并更新了 php.ini:
    • 分机=php_pdo_sqlsrv_7_ts_x64.dll
    • 分机=php_pdo_sqlsrv_7_nts_x64.dll

虽然这些已添加到 php.ini 中,但它们不在 php> php 扩展列表中 - 我不知道为什么

这是我下面的代码,但有错误

<?php
    $serverName="DESKTOP-0KNJ0KP";
    $connectionInfo=array("Database"=>"SPMS_db",);
    $conn=sqlsrv_connect($serverName,$connectionInfo);

    if ($conn) {
        echo "Connected.<br />";
    } else {
        echo "Connection failed.<br />";
        die( print_r( sqlsrv_errors(), true));
    }
?>

我已经从 PHPinfo()

添加了上下文

通过 PDO 库(已安装在您的服务器中)连接更容易。

参见 PHP.NET 中的 PDO 书籍:https://www.php.net/manual/en/ref.pdo-dblib.php

您已经为 SQL 服务器安装了 PDO_sqlsrv 部分 PHP 驱动程序,但是您的代码使用了 sqlsrv 函数。您有两个选择:

  • 安装 php_sqlsrv_ 扩展以使这些功能正常工作或
  • 重写您的代码以使用 PDO 版本的驱动程序

PHP 代码使用 PHP 驱动程序的 PDO 版本 SQL 服务器:

<?php
# Connection
$server = "DESKTOP-0KNJ0KP";
$database = "SPMS_db";
try {
   $conn = new PDO( "sqlsrv:Server=$server;Database=$database", NULL, NULL);
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch( PDOException $e ) {
   die( "Error connecting to SQL Server. ".$e->getMessage() );
}

# End
$conn = null;
?>