我正在尝试使用位于同一服务器上的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);
?>
非常感谢任何帮助!
答案 0 :(得分:0)
您应该切换到使用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
}