【问题标题】:Error when trying to access database on server: Lost connection to MySQL server尝试访问服务器上的数据库时出错:与 MySQL 服务器的连接丢失
【发布时间】:2017-08-13 08:37:47
【问题描述】:

我正在尝试使用同一服务器上的 php 文件访问我的 web 主机上的数据库。尝试加载页面时出现以下错误:mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet', system error: 111. I can find a good answer to what it wrong.下面是我正在使用的 php。我将我的数据库的 IP 地址设置为我的主机名。

    <?php
    $con = mysql_connect("10.123.0.209:3306","username", "password");
    if (!$con){
    die("cannot connect: " . mysql_error());
     }

    mysql_select_db("matmac78_macy", $con);
    $sql = "SELECT * FROM countries";
    $mydata = mysql_query($sql, $con);

    while ($record = mysql_fetch_array($mydata)){
    echo $record['country'] . " " . $record['population'] 
    echo"<br/>";
    }

    mysql_close($con);

    ?>

任何帮助将不胜感激!

【问题讨论】:

标签: php mysql


【解决方案1】:

您应该切换到使用PHP's PDO 连接协议。

$username = 'username';
$password = 'password';
$dbName = 'matmac78_macy';
$host = '10.123.0.209:3306';


try {
        $this->database = new \PDO( "mysql:host={$this->host};dbname={$this->dbName}", $this->username, $this->password );
        $this->database->setAttribute( \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION );
        $this->database->setAttribute( \PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_ASSOC );
        return $this->database;
    } catch (\PDOException $e) {
        throw new \Exception( "Could not establish database connection. \n" );    #Push error message
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多