此站点似乎未经授权尝试访问位于的数据库

时间:2012-04-07 17:07:43

标签: php mysql wordpress

我正在尝试构建我将使用它的自定义WORDPRESS备份解决方案。

该文件将在wp-content中。

该文件名为backup.php

当我尝试通过调用http://myblog/wp-content/backup.php访问数据库时,出现以下错误:

  

此网站似乎未经授权尝试访问   您的数据库位于http://myblog.com。这次尝试已经成功了   停止。

PHP文件:

include ('../wp-config.php');

$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

mysql_query('use ' . DB_NAME, $con);

$username = 'admin';
$password = 'password';

$r = mysql_query("SELECT id FROM " . $table_prefix . "users WHERE user_login = '" .    $username . "' AND user_pass = md5('" . $password . "')", $con);

if (mysql_num_rows($r) > 0) {
    //code for backup here
}

1 个答案:

答案 0 :(得分:1)

创建MySQL用户帐户时,可以指定该帐户可用于连接的服务器。

肯定有'localhost'或'%'(即任何主机)的选项。也可以指定一个命名主机。

如果你没有指定一个(取决于你如何设置用户帐户),并且如果数据库与你的Wordpress网站位于不同的主机/域上,则可能是'localhost'是默认值,那么是问题的原因。

无论哪种方式,都值得检查您用于连接的数据库用户帐户(DB_USER,DB_PASSWORD等)是否有权从持有您Wordpress站点的主机/域进行连接。

我已经快速查看了phpMyAdmin下的位置,但我现在可以访问的是一个共享主机,它似乎不让我看到权限表。在phpMyAdmin主页上通常有一个'Priveliges'链接 - 按照它(并在必要时使用文档),这应该可以帮助你。