无法让php连接到sql。获取错误连接失败:php\u network\u getaddresses:getaddrinfo失败:未知此类主机。
我已经搜索了google和stackover flow,但无法找到这个问题的根源。我无法将以下php代码连接到SQL。这是一个简单的php web文档,我正在使用它来测试一些东西。SQL是sqlexpress 2016,它在安装了PHP7.x的IIS上运行。PHP代码执行得很好,所以我猜它与代码或数据库有关。我尝试过的事情:无法让php连接到sql。获取错误连接失败:php\u network\u getaddresses:getaddrinfo失败:未知此类主机。,php,mysql,Php,Mysql,我已经搜索了google和stackover flow,但无法找到这个问题的根源。我无法将以下php代码连接到SQL。这是一个简单的php web文档,我正在使用它来测试一些东西。SQL是sqlexpress 2016,它在安装了PHP7.x的IIS上运行。PHP代码执行得很好,所以我猜它与代码或数据库有关。我尝试过的事情: 我已经在php中运行了一个echo来解析名称,它解析得很好 我已经使用tcp从一个单独的服务器连接到sql服务器,并且连接良好 我尝试了PDO连接和mysqli,但都返回
- 我已经在php中运行了一个echo来解析名称,它解析得很好
- 我已经使用tcp从一个单独的服务器连接到sql服务器,并且连接良好
- 我尝试了PDO连接和mysqli,但都返回了相同的错误
<?php
$servername = 'RemoteServerName\SqlInstance';
$username = 'iislogon';
$password = 'password';
try {
$conn = new PDO("mysql:host=$servername;dbname=netdata", $username,
$password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
mysqli代码是:
<?php
$servername = 'RemoteServerName\SqlInstance';
$username = 'iislogin';
$password = 'password';
$dbname = 'netdata';
?>
<?php $conn = new mysqli($servername, $username, $password, $dbname); ?>
<?php
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";?>
两者都返回找不到主机的相同错误。还有哪些其他问题可能导致这种情况?我刚开始编写php代码,希望您能提供帮助。我想您没有用另一个反斜杠来逃避反斜杠。试试这个:
<?php
$servername = 'RemoteServerName\\SqlInstance';
?>
我想你没有用另一个反斜杠来逃避你的反斜杠。试试这个:
<?php
$servername = 'RemoteServerName\\SqlInstance';
?>
mysqli和以mysql开头的PDO:应该连接到mysql,而不是SQLExpress 如果您想使用SQLExpress,您应该使用类似于或将pdo字符串调整为
再看一看。mysqli和以mysql开头的PDO:应该连接到mysql,而不是SQLExpress 如果您想使用SQLExpress,您应该使用类似于或将pdo字符串调整为 也请看一看。请看此说明,特别是: 通常,DSN由PDO驱动程序名称、冒号和PDO驱动程序特定的连接语法组成。更多信息可从PDO驱动程序特定文档中获得 您确定您的dsn是正确的,并且启用了PHP模块吗?请参见本说明,具体如下: 通常,DSN由PDO驱动程序名称、冒号和PDO驱动程序特定的连接语法组成。更多信息可从PDO驱动程序特定文档中获得
您确定您的dsn是正确的,并且启用了PHP模块吗?参见这解决了我的问题。一旦我安装了sqlsrv扩展并将我的连接字符串更改为该字符串,它就解决了我的问题。谢谢,这解决了我的问题。一旦我安装了sqlsrv扩展并将我的连接字符串更改为该字符串,它就解决了我的问题。非常感谢。