【问题标题】:Connecting SQL server DB to A PHP web application using Wamp使用 Wamp 将 SQL Server DB 连接到 PHP Web 应用程序
【发布时间】:2019-04-13 02:33:45
【问题描述】:

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

我尝试过的:

  1. 我下载了 PHP 7 和 7.1 的 sql 驱动程序,并尝试使用相应的 PHP 版本
  2. 我确保在更新 php.ini 文件后重新启动所有服务。
  3. 我已经安装了 SQLSRV40.EXE 并更新了 php.ini:
    • extension=php_pdo_sqlsrv_7_ts_x64.dll
    • extension=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() 添加了上下文

【问题讨论】:

  • 你的 phpinfo() 说什么?
  • 最重要的事情。您需要在您的机器上安装 ODBC 驱动程序以支持 SQL server

标签: php sql-server wamp sqlsrv


【解决方案1】:

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

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

使用 PDO 版本的 PHP Driver for SQL Server 的 PHP 代码:

<?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;
?>

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 1970-01-01
      相关资源
      最近更新 更多