【问题标题】:Cant get php to connect to sql. Get error Connection failed: php_network_getaddresses: getaddrinfo failed: No such host is known.无法让 php 连接到 sql。获取错误连接失败:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。
【发布时间】:2018-03-20 14:54:17
【问题描述】:

我已经搜索了谷歌和 stackover 流程​​,但无法深入了解这个问题。我无法获得以下 php 代码来连接到 SQL。它是一个简单的 php web 文档,我用它来测试一些东西。 SQL 是 sqlexpress 2016,它在安装了 php 7.x 的 IIS 上运行。 PHP 代码执行得很好,所以我猜它与代码或数据库有关。我尝试过的事情:

  • 我在 php 中运行了一个 echo 来解析名称,它可以很好地解析它。
  • 我已使用 tcp 从单独的服务器连接到 sql 服务器,并且连接正常。
  • 我已经尝试过 PDO 连接和 mysqli 并且都返回相同的错误。

我使用的 PDO 代码是:

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


    【解决方案1】:

    mysqli 和以 mysql 开头的 PDO:应该连接到 MySQL,而不是 SQLExpress。

    如果你想使用 SQLExpress,你应该使用 sqlsrv_connect 之类的东西,或者将你的 pdo 字符串调整为 SQLExpress compatible one

    也看看this thread

    【讨论】:

    • 这解决了我的问题。一旦我安装了 sqlsrv 扩展并将我的连接字符串更改为那个,它就解决了我的问题。谢谢。
    【解决方案2】:

    看看这个描述http://php.net/manual/en/pdo.construct.php,具体来说:

    通常,DSN 由 PDO 驱动程序名称、后跟一个冒号和 PDO 驱动程序特定的连接语法组成。更多信息可从 PDO 驱动程序特定文档中获得。

    你确定你的 dsn 是正确的并且你启用了 PHP 模块吗?见http://php.net/manual/en/ref.pdo-mysql.php

    【讨论】:

      【解决方案3】:

      我认为你没有用另一个反斜杠来逃避你的反斜杠。试试这个:

      <?php
      $servername = 'RemoteServerName\\SqlInstance';
      ?>
      

      【讨论】:

        猜你喜欢
        • 2012-01-02
        • 2021-09-16
        • 2014-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多