使用Wamp将SQL Server DB连接到PHP Web应用程序

时间:2019-04-13 02:33:46

标签: php sql-server wamp sqlsrv

我搜索了很多帖子,试图找到答案,但是一无所获。 我正在尝试使用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));
    }
?>

enter image description here

我已经为PHPinfo()添加了上下文

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

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

请参阅来自PHP.NET的PDO手册:https://www.php.net/manual/en/ref.pdo-dblib.php

答案 1 :(得分:0)

您已经安装了SQL Server PHP Driver的PDO_sqlsrv部分,但是您的代码使用了sqlsrv函数。您有两种选择:

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

使用SQL Server的PDO版本的PHP驱动程序的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;
?>