Php 尝试访问服务器上的数据库时出错:与MySQL服务器的连接断开

Php 尝试访问服务器上的数据库时出错:与MySQL服务器的连接断开,php,mysql,Php,Mysql,我试图使用同一服务器上的php文件访问web主机上的数据库。尝试加载页面时,我收到以下错误:mysql_connect():在“读取初始通信包”时与mysql服务器失去连接,系统错误:111。我找不到一个好的答案,它到底出了什么问题。下面是我正在使用的php。我将数据库的IP地址设置为主机名 <?php $con = mysql_connect("10.123.0.209:3306","username", "password"); if (!$con){

我试图使用同一服务器上的php文件访问web主机上的数据库。尝试加载页面时,我收到以下错误:mysql_connect():在“读取初始通信包”时与mysql服务器失去连接,系统错误:111。我找不到一个好的答案,它到底出了什么问题。下面是我正在使用的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);

    ?>


任何帮助都将不胜感激

您应该切换到使用连接协议

$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
    }

请使用mysqli或pdo而不是mysql,因为它是不推荐的。您可以使用命令行连接到mysql服务器吗?从主机中删除“:3306”。我试图删除:3306,但它仍然无法工作。你能给我解释一下如何使用命令行吗?也许这可以帮助你或者