Php 连接错误:SQLSTATE[HY000]:[Microsoft][ODBC驱动程序17 for SQL Server]TDS流中存在协议错误
我有一个名为的错误: 连接错误:SQLSTATE[HY000]:[Microsoft][ODBC驱动程序17 for SQL TDS流中的服务器]协议错误 我现在有这个错误一个星期了,决定在这里寻求帮助 只是为了获得一些我使用的信息:Php 连接错误:SQLSTATE[HY000]:[Microsoft][ODBC驱动程序17 for SQL Server]TDS流中存在协议错误,php,sql-server,iis,Php,Sql Server,Iis,我有一个名为的错误: 连接错误:SQLSTATE[HY000]:[Microsoft][ODBC驱动程序17 for SQL TDS流中的服务器]协议错误 我现在有这个错误一个星期了,决定在这里寻求帮助 只是为了获得一些我使用的信息: Internet信息服务(IIS)管理器(版本:10.0.18362.1) Microsoft SQL Server管理工作室(MS SSMS)(版本:18.7.1) PHP(版本:7.4.1) 视窗10 我的代码是: // DatabaseConection
- Internet信息服务(IIS)管理器(版本:10.0.18362.1)
- Microsoft SQL Server管理工作室(MS SSMS)(版本:18.7.1)
- PHP(版本:7.4.1)
- 视窗10
// DatabaseConection.php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
class Database{
// variabelen om contact met de database te maken
private $host = 'localhost,85'; // localhost port 85
private $dbName = 'Image_Database';
private $username = ''; // empty for security
private $password = ''; // empty for security
// variabel om connectie te leggen
private $conn;
public function dbConnectie(){
$this->conn = null;
try{
$this->conn = new PDO('sqlsrv:Server='.$this->host.';Database='.$this->dbName, $this->username, $this->password);
} catch (PDOException $exception){
echo 'Connection error: ' . $exception->getMessage();
}
return $this->conn;
}
}
$database = new Database;
$conn = $database->dbConnectie();
if($conn){
echo "Connection.";
}elseif(!$conn){
echo "Failed connection.";
die(print_r(sqlsrv_errors(), true));
}
sqlsrv_close($conn);
我试图更改主机,但没有成功。我如何尝试更改它+结果:
private $host = 'localhost:85' -> Connection error: SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [53].
private $host = 'localhost, 85' -> Connection error: SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream
private $host = 'localhost', '85' -> HTTP ERROR 500
private $host = 'localhost', 85 -> HTTP ERROR 500
private $host = 'localhost,', 85 -> HTTP ERROR 500
private $host = 'localhost,', '85' -> HTTP ERROR 500
private $host = 'localhost,'. '85' -> Connection error: SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream
private $host = 'localhost,85' -> Connection error: SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream
private $host = '192.168.178.17,85' -> Connection error: SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream
private $host = 'my laptop name (not placing here),85' -> Connection error: SQLSTATE[HY000]: [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream
最后,我想放置我的文件结构,看看是否有问题。C:\inetpub\wwwroot2\classe\databaseconconnection.php
我的问题:为什么会出现此错误以及如何消除它?什么版本的SQL Server(不是SSMS)?Ie
select@@version
的输出是什么?SQL Server错误日志中是否有与这些错误相对应的内容?@David select的输出@版本为:“Microsoft SQL Server 2019(RTM)-15.0.2000.5(X64)2019年9月24日13:48:23版权所有(C)2019 Windows 10 Home 10.0上的Microsoft Corporation Developer Edition(64位)(Build 18362:)'和SQL Server错误日志中没有错误。Hmmm。应用最新累积上传日期,看看是否有帮助:此处列出了所有版本:@DavidBrowne Microsoft I已更新为最新版本,但没有帮助。(我想a已经有了那个版本,但不确定更新是否也有了。)localhost,85
可能不是SQL Server,因此TDS错误。您的SQL Server真的在侦听端口85吗?查看SQL错误日志以查看实际端口号。SQL Server(非SSMS)的哪个版本?Ieselect@@version
的输出是什么?SQL Server错误日志中是否有与这些错误相对应的内容?@David select的输出@版本为:“Microsoft SQL Server 2019(RTM)-15.0.2000.5(X64)2019年9月24日13:48:23版权所有(C)2019 Windows 10 Home 10.0上的Microsoft Corporation Developer Edition(64位)(Build 18362:)'和SQL Server错误日志中没有错误。Hmmm。应用最新累积上传日期,看看是否有帮助:此处列出了所有版本:@DavidBrowne Microsoft I已更新为最新版本,但没有帮助。(我想a已经有了那个版本,但不确定更新是否也有了。)localhost,85
可能不是SQL Server,因此TDS错误。您的SQL Server真的在侦听端口85吗?查看SQL错误日志以查看实际的端口号。