WAMP 本地主机安装 SQLSRV 以连接到数据库

WAMP localhost install SQLSRV for connecting to database

我在本地使用 WAMP 运行 我的代码。
现在我想使用 PHP.

连接到 Microsoft SQL 服务器数据库
// connection with callstats DB
$serverName = "IP, 1433"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"CDR", "UID"=>"username", "PWD"=>"password");

我正在使用:

$conn_CDR = sqlsrv_connect( $serverName, $connectionInfo);
$params = array();

然后查询:

$result = sqlsrv_query($conn_CDR, "", $params);

但是我得到这个错误:

Warning: sqlsrv_query() expects parameter 1 to be resource, boolean given

现在我知道我需要将 sqlsrv 安装到我的本地主机中。
我正在使用 PHP 7.2.14,所以我将 php_sqlsrv_72_ts.dll 安装到我的 C:\localhost\bin\php\php7.2.14
我也将这一行添加到我的 php.ini.

extension=php_sqlsrv_72_ts.dll

然后我重新启动了我的 WAMP 服务器,运行再次输入了我的代码,但我仍然得到相同的结果。
我也尝试将文件添加到 C:\localhost\bin\apache\apache2.4.37\bin,但也没有成功。
有谁知道为什么这个错误不断发生以及如何解决?

$conn_CDR = sqlsrv_connect( $serverName, $connectionInfo);
$params = array();
$sql = "your sql query";
$result = sqlsrv_query($conn_CDR, $sql, $params));

在此处查看手册https://www.php.net/manual/en/function.sqlsrv-query.php

像这个例子:-

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}

我通过在我的计算机上安装 Microsoft ODBC Driver for SQL Server 解决了这个问题。
然后我重新启动了我的 WAMP 服务器,它成功了!
Download ODBC Driver here

这为我提供了解决错误所需的信息:

if ($conn_CDR === false) {echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);}