mysqli连接错误(在根文件夹中工作,在子文件夹中没有)

时间:2013-12-10 08:40:14

标签: php path mysqli include

我的文件 my_api.php 包含以下内容:

require_once('./api/api_helper.php');
require_once('./includes/db_config.php');
$db = mysqli_connect($dbinfo['host'], $dbinfo['user'], $dbinfo['pass'], $dbinfo['dbname']);
if(mysqli_connect_errno()){
    echo 'MySQLi Error: ' . mysqli_connect_error(); exit;
}

当我把它放入根目录时,一切正常。 现在我放入一个名为 api 的子目录,并将文件内容更改为:

require_once('./api_helper.php');
require_once('../includes/db_config.php');
$db = mysqli_connect($dbinfo['host'], $dbinfo['user'], $dbinfo['pass'], $dbinfo['dbname']);
if(mysqli_connect_errno()){
    echo 'MySQLi Error: ' . mysqli_connect_error(); exit;
}

然后我收到以下错误:

  

警告:mysqli_connect()[function.mysqli-connect] :( HY000 / 1045):   用户访问被拒绝:'XXXX @ localhost'(使用密码:YES)   /homepages/XXXX/api/myapi.php第13行MySQLi错误:访问被拒绝   对于用户:'XXXX @ localhost'(使用密码:是)

任何人都可以帮我解决一下吗? 谢谢

1 个答案:

答案 0 :(得分:-1)

编辑回答。错误

  

用户拒绝访问:'X​​XXX @ localhost'(使用密码:是)

表示为连接提供了错误的凭据。检查凭据。无论文件夹问题与此错误无关。

我讨厌猜测,但这不是一个真正的问题。

可能有其他db_config.php包含错误的凭据。

无论哪种方式,op都不应该像用户那样无助地观看错误,但做某事。挖掘问题根源并不困难:回显$dbinfo,检查realpath()的相对路径,将返回值与所需值进行比较,转为完整使用error_reporting(E_ALL);

报告错误

你写的程序不是你不知道的黑盒子。它总是有中间结果。如果整个程序出错,您有责任验证它们是否正确。