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

问题描述 投票:0回答:2

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

我尝试过的:

  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 extentions列表中 - 不知道为什么

这是我的下面的代码允许错误

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

php sql-server wamp sqlsrv
2个回答
0
投票

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

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


0
投票

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

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

PHP代码使用PDO版本的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;
?>
© www.soinside.com 2019 - 2024. All rights reserved.