【问题标题】:PHP mysql_connect fails, PDO connection to MySQL works finePHP mysql_connect 失败,与 MySQL 的 PDO 连接工作正常
【发布时间】:2015-09-18 07:45:55
【问题描述】:

到 sql server 的 pdo 连接工作正常,代码如下:

try {
    $host = "tcp:hdl324kjh.database.windows.net, 1433";
    $user = "user@hdl324kjh";
    $pwd = "password";
    $db = "my_db";
    $conn = new PDO ("sqlsrv:Server = $host; Database = $db", $user, $pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = ("SELECT * FROM CUSTOMERS");
    $stmt = $conn->query("$sql");
    $row = $stmt->fetch();
    print_r($row);
    $conn = NULL;
} catch(Exception $e) {
    die(print_r($e));
}

但由于某种原因,mysql_connect 似乎不起作用:

$mysql_hostname = "hdl324kjh.database.windows.net:1433";
$mysql_user = "user@hdl324kjh";
$mysql_password = "password";
$mysql_database = "my_db";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");

mysql_select_db($mysql_database, $bd) or die("Could not select database");

$sql = mysql_query("SELECT * FROM CUSTOMERS");
while ($row = mysql_fetch_array($sql)) {
    echo $row['NAME'];
}

这里是错误信息:

连接失败:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机。

【问题讨论】:

  • 既然知道 PDO 的工作原理,为什么还要创建 mysql 连接?
  • 当前网站需要迁移到完全为mysql_connect编写的新服务器上。所以喜欢让它为同样的工作。 :)

标签: php pdo mysql-connect


【解决方案1】:

拜托,你一开始就无法使用 mysql_connect 连接到 ms sql server。

虽然关于此错误,但很清楚 - 您运行代码的系统对主机 hdl324kjh.database.windows.net 一无所知

【讨论】:

  • 你能给我推荐一个替代方案来解决这个问题吗?
  • 继续使用 PDO 并更改新服务器以支持 PDO
【解决方案2】:

您的 PDO 代码实际上并未连接到 MySQL 服务器,而是连接到 Microsoft SQL 服务器。两者是非常不同的东西。

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2016-04-19
    • 2010-11-26
    相关资源
    最近更新 更多