无法使用外部服务器上的 php 文件连接数据库(mysql)
Posted
技术标签:
【中文标题】无法使用外部服务器上的 php 文件连接数据库(mysql)【英文标题】:Can't connect database (mysql) with php files on external server 【发布时间】:2018-02-11 21:13:05 【问题描述】:无法将数据库(mysql)与来自外部服务器(godaddy)的以下 php 文件连接起来。警告:mysql_connect() []: 无法连接到 /files/files/db.php 和 index.php 中 (10061) 上的 mysql 服务器 `
<?php
$conn=mysql_connect("localhost","dbusername","dbpasswd");
$db=mysql_select_db('dbname',$conn);
?>
` 并在 db_config.php
`
<?php
define('DB_USER', "dbusername");
define('DB_PASSWORD', "dbpasswd");
define('DB_DATABASE', "dbname");
define('DB_SERVER', "server address"); // db server
$servername = "url.com";
$username = "dbusername";
$password = "dbpasswd";
$dbname = "dbname";
$conn= mysql_connect($servername,$username,$password)or die(mysql_error());
mysql_select_db('dbname',$conn);
?>
`
在 db_connect.php 中
`
<?php
class DB_CONNECT
// constructor
function __construct()
// connecting to database
$this->connect();
// destructor
function __destruct()
// closing db connection
$this->close();
/**
* Function to connect with database
*/
function connect()
// import database connection variables
require_once __DIR__ . '/db_config.php';
// Connecting to mysql database
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());
// Selecing database
$db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());
// returing connection cursor
return $con;
/**
* Function to close db connection
*/
function close()
// closing db connection
mysql_close();
?>
`
【问题讨论】:
第一:请不要在新代码中使用mysql_*
函数。这些功能在最近的 PHP 版本中不再可用,请改用 mysqli
或 PDO
。第二:我在这里看到 3 个单独的数据库连接,哪些不工作?错误 10061 通常表示网络连接被拒绝(即该主机上没有 mysql 服务器正在侦听)。
如果是外部的,你不能使用本地主机,但你需要IP地址,然后有可能被服务器禁止的安全性
【参考方案1】:
这不是您的代码的问题...存在此问题是因为您正在尝试将实时网站与您的 localhost 数据库连接。我不知道如何使用godaddy 解决它,因为我使用MS azure ......但我可以给你一个基本的想法 - 如果你想将一个实时网站与数据库连接,你必须在godaddy 上创建一个数据库。我知道我回答得太晚了
【讨论】:
以上是关于无法使用外部服务器上的 php 文件连接数据库(mysql)的主要内容,如果未能解决你的问题,请参考以下文章
无法使用php连接错误连接到mysql:无法连接到'localhost'(10061)上的MySQL服务器[重复]
解决数据库连接错误 您在wp-config.php文件中提供的数据库用户名和密码可能不正确,或者无法连接到localhost上的数据库服务器,这意味着您的主机数据库服务器已停止工作。