【发布时间】:2013-01-04 12:03:02
【问题描述】:
我正在尝试从另一台服务器连接到 mysql 数据库服务器。以下是两台服务器上的配置。
服务器 1: 我安装了带有 php 和 apache 服务的 xampp,它具有以下 ip 172.x1.x1.x1
服务器 2: 我安装了mysql,它有以下ip 172.x1.x1.x2。
以下是我用来连接数据库的连接脚本
<?php
//Database connection constants
define("DATABASE_HOST", "172.x1.x1.x2");
define("DATABASE_USERNAME", "root");
define("DATABASE_PASSWORD", "");
define("DATABASE_NAME", "management");
?>
上述脚本位于名为 app_config.php 的文件中,位于服务器 1 中 以下脚本位于名为 connect.php 的文件中,它也位于服务器 1 中
<?php
require 'app_config.php';
$connect_error = 'Sorry we\'experiencing connection problems.';
$table_error = 'Table not found';
mysql_connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD)
or die($connect_error);
mysql_select_db(DATABASE_NAME) 或死($table_error); ?> 现在当我尝试连接时出现以下错误
警告:mysql_connect() [function.mysql-connect]: Host 'hr1.saqa.co.za' is not allowed to connect to this MySQL server in C:\xampp\htdocs\scripts\functions\database\connect .php 在第 4 行
致命错误:在第 5 行调用 C:\xampp\htdocs\scripts\functions\database\connect.php 中未定义的函数 handle_error()
如果你们能帮助我,那就太棒了。
【问题讨论】:
-
您应该停止使用
mysql_*并将您的代码移植到mysqli或PDO。 mysql 已过时,很可能会在下一个主要版本中完全删除。 -
您还需要设置它以便允许用户从远程IP地址连接到数据库,或者设置一个特定的IP地址。
-
@VladPreda 我最终会离开 mysql_* 但我还是 php 新手,我正在阅读的书仍然使用该脚本。